diff --git a/Application/Admin/Common/extend.php b/Application/Admin/Common/extend.php index f47a6c040..d9d631072 100644 --- a/Application/Admin/Common/extend.php +++ b/Application/Admin/Common/extend.php @@ -2236,6 +2236,26 @@ function excelDownStreamTemplate($data, $all_sum_money, $all_pay_amount, $big_al $objPHPExcel->getActiveSheet()->setCellValue('E'.($line+9), $data['receive_company']['bank_account']."\t");//银行账号 $objPHPExcel->getActiveSheet()->setCellValue('E'.($line+10), $data['receive_company']['opening_bank']);//开户行 + $height = 20; + $font_size = 44; + + if (strlen($data['pay_company']['partner'])<strlen($data['receive_company']['partner'])) { + $partner_height = intval(strlen($data['receive_company']['partner'])/$font_size)+1; + } else { + $partner_height = intval(strlen($data['pay_company']['partner'])/$font_size)+1; + } + + $address_height = intval(strlen($data['receive_company']['address'])/$font_size)+1; + $payee_name_height = intval(strlen($data['receive_company']['payee_name'])/$font_size)+1; + $opening_bank_height = intval(strlen($data['receive_company']['opening_bank'])/$font_size)+1; + + $objPHPExcel->getActiveSheet()->getStyle("E".($line+3).":E".($line+10))->getAlignment()->setWrapText(true); + $objPHPExcel->getActiveSheet()->getStyle("B".($line+3).":B".($line+7))->getAlignment()->setWrapText(true); + $objPHPExcel->getActiveSheet()->getRowDimension(($line+3))->setRowHeight($height*$partner_height); + $objPHPExcel->getActiveSheet()->getRowDimension(($line+6))->setRowHeight($address_height*$height); + $objPHPExcel->getActiveSheet()->getRowDimension(($line+8))->setRowHeight($payee_name_height*$height); + $objPHPExcel->getActiveSheet()->getRowDimension(($line+10))->setRowHeight($opening_bank_height*$height); + $fileName = "{$data['company_name']}&{$data['my_company']}-对账单{$statement_begin_time}-{$statement_end_time}"; // dd($fileName); ob_end_clean();//清除缓冲区,避免乱码 @@ -2340,7 +2360,7 @@ function getGameCpRadio($game_id,$amount,$type) { */ function getGamePromoteCompanyRadio($company_id,$relation_game_id,$endtime,$amount,$type,$company_belong=false) { //判断是否有生效 - $rwhere = "(end_time = 0 OR end_time >= '{$endtime}') and company_id='{$company_id}' and relation_game_id='{$relation_game_id}'"; + $rwhere = "(end_time = 0 OR end_time >= '{$endtime}') and company_id='{$company_id}' and relation_game_id='{$relation_game_id}' and company_belong = {$company_belong} "; $cgr_res = M("CompanyGameRatio","tab_")->where($rwhere)->find(); // dump( M("CompanyGameRatio","tab_")->where($rwhere)->select(false)); if(empty($cgr_res)){ 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/AggregateFinanceStatementController.class.php b/Application/Admin/Controller/AggregateFinanceStatementController.class.php index 2e1c626b5..0c21874a8 100644 --- a/Application/Admin/Controller/AggregateFinanceStatementController.class.php +++ b/Application/Admin/Controller/AggregateFinanceStatementController.class.php @@ -734,6 +734,25 @@ class AggregateFinanceStatementController extends ThinkController $objPHPExcel->getActiveSheet()->setCellValue('E'.($line+5), $data['second_party_info']['link_phone']);//联系电话 $objPHPExcel->getActiveSheet()->setCellValue('E'.($line+6), $data['second_party_info']['address']);//邮寄地址 + $height = 20; + $font_size = 56; + + if (strlen($data['second_party_info']['partner'])<strlen($data['first_party_info']['partner'])) { + $partner_height = intval(strlen($data['first_party_info']['partner'])/$font_size)+1; + } else { + $partner_height = intval(strlen($data['second_party_info']['partner'])/$font_size)+1; + } + + if (strlen($data['second_party_info']['address'])<strlen($data['first_party_info']['address'])) { + $address_height = intval(strlen($data['first_party_info']['address'])/$font_size)+1; + } else { + $address_height = intval(strlen($data['second_party_info']['address'])/$font_size)+1; + } + $objPHPExcel->getActiveSheet()->getStyle("E".($line+3).":E".($line+6))->getAlignment()->setWrapText(true); + $objPHPExcel->getActiveSheet()->getStyle("B".($line+3).":B".($line+6))->getAlignment()->setWrapText(true); + $objPHPExcel->getActiveSheet()->getRowDimension(($line+3))->setRowHeight($height*$partner_height); + $objPHPExcel->getActiveSheet()->getRowDimension(($line+6))->setRowHeight($address_height*$height); + //开票信息 $invoice_data = "发票类型:".$data['pay_company']['invoice_type']; $invoice_data .= "\n发票抬头:".$data['pay_company']['partner']; @@ -831,6 +850,25 @@ class AggregateFinanceStatementController extends ThinkController $objPHPExcel->getActiveSheet()->setCellValue('E'.($line+5), $data['second_party_info']['link_phone']);//联系电话 $objPHPExcel->getActiveSheet()->setCellValue('E'.($line+6), $data['second_party_info']['address']);//邮寄地址 + $height = 20; + $font_size = 44; + + if (strlen($data['second_party_info']['partner'])<strlen($data['first_party_info']['partner'])) { + $partner_height = intval(strlen($data['first_party_info']['partner'])/$font_size)+1; + } else { + $partner_height = intval(strlen($data['second_party_info']['partner'])/$font_size)+1; + } + + if (strlen($data['second_party_info']['address'])<strlen($data['first_party_info']['address'])) { + $address_height = intval(strlen($data['first_party_info']['address'])/$font_size)+1; + } else { + $address_height = intval(strlen($data['second_party_info']['address'])/$font_size)+1; + } + $objPHPExcel->getActiveSheet()->getStyle("E".($line+3).":E".($line+6))->getAlignment()->setWrapText(true); + $objPHPExcel->getActiveSheet()->getStyle("B".($line+3).":B".($line+6))->getAlignment()->setWrapText(true); + $objPHPExcel->getActiveSheet()->getRowDimension(($line+3))->setRowHeight($height*$partner_height); + $objPHPExcel->getActiveSheet()->getRowDimension(($line+6))->setRowHeight($address_height*$height); + //开票信息 // $invoice_data = "发票类型:".$data['second_party_info']['invoice_type']; // $invoice_data .= "\n发票抬头:".$data['second_party_info']['partner']; diff --git a/Application/Admin/Controller/CompanyGameRatioController.class.php b/Application/Admin/Controller/CompanyGameRatioController.class.php index 93ecebbc5..20db93a21 100644 --- a/Application/Admin/Controller/CompanyGameRatioController.class.php +++ b/Application/Admin/Controller/CompanyGameRatioController.class.php @@ -26,6 +26,17 @@ class CompanyGameRatioController extends AdminController $this->DBModel = M("company_game_ratio","tab_"); parent::_initialize(); } + + public function setCompanyBelong($company_belong = 0) { + if($company_belong == '0') { + return '内团'; + } elseif($company_belong == '1') { + return '外团'; + } else { + return '外团-分发'; + } + } + public function index() { $params = I('get.'); @@ -43,9 +54,9 @@ class CompanyGameRatioController extends AdminController $where['m.relation_game_id'] = $params['relation_game_id']; } $pwhere = false; - if(isset($params['company_belong'])){ - $pwhere = " and p.company_belong = {$params['company_belong']}"; - } +// if(isset($params['company_belong'])){ +// $pwhere = " and p.company_belong = {$params['company_belong']}"; +// } if(isset($params['company_id'])){ $where['m.company_id'] = $params['company_id']; @@ -96,24 +107,39 @@ class CompanyGameRatioController extends AdminController } $gameres = M("game","tab_")->field("tab_game.relation_game_id,tab_game.relation_game_name,IF(tab_game.original_package_name='','未配置',tab_game.original_package_name) original_package_name,tab_game_type.type_name game_type_name")->where($gamewhere)->join("tab_game_type on tab_game.game_type_id = tab_game_type.id")->group("tab_game.relation_game_id")->select(false); + $dbres = M("company_game_ratio","tab_") ->alias('m') - ->field("m.*,g.*,p.company_name,p.company_belong,IFNULL(r.settlement_type,-1) settlement_type,group_concat(turnover_type ORDER BY begin_time ASC SEPARATOR '|') turnover_type,group_concat(ratio ORDER BY begin_time ASC SEPARATOR '|') ratio,group_concat(begin_time ORDER BY begin_time ASC SEPARATOR '|') begin_time,group_concat(end_time ORDER BY begin_time ASC SEPARATOR '|') end_time,group_concat(m.turnover_ratio ORDER BY begin_time ASC SEPARATOR '|') turnover_ratio,group_concat(m.id ORDER BY begin_time ASC SEPARATOR '|') operate_id") + ->field("g.game_type_name,g.original_package_name,g.relation_game_name,m.company_id,p.company_name,(CASE WHEN p.company_belong is not null THEN p.company_belong ELSE m.company_belong END) company_belong,IFNULL(r.settlement_type,-1) settlement_type,group_concat(turnover_type ORDER BY begin_time ASC SEPARATOR '|') turnover_type,group_concat(ratio ORDER BY begin_time ASC SEPARATOR '|') ratio,group_concat(begin_time ORDER BY begin_time ASC SEPARATOR '|') begin_time,group_concat(end_time ORDER BY begin_time ASC SEPARATOR '|') end_time,group_concat(m.turnover_ratio ORDER BY begin_time ASC SEPARATOR '|') turnover_ratio,group_concat(m.id ORDER BY begin_time ASC SEPARATOR '|') operate_id") ->join("JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id") - ->join("JOIN tab_promote_company p ON ( m.company_id = p.id".$pwhere.")") - ->join("left JOIN tab_company_relation r ON (r.first_company_type =2 AND r.first_company_id = m.company_id) OR (r.second_company_type =2 AND r.second_company_id = m.company_id)"); + ->join("left JOIN tab_promote_company p ON ( m.company_id = p.id".$pwhere.")") + ->join("left JOIN tab_company_relation r ON (r.first_company_type =2 AND r.first_company_id = m.company_id) OR (r.second_company_type =2 AND r.second_company_id = m.company_id)") + ->where($where)->group("company_id,m.relation_game_id,p.company_belong") + ->select(false); + + if(isset($params['company_belong'])){ + $secwhere['company_belong'] = $params['company_belong']; + } + + $dbres = M()->table("({$dbres})a") + ->where("company_id = '0' or company_name is not null") + ->where($secwhere); if(isset($params['export'])){ - $dbres = $dbres->where($where)->group("company_id,m.relation_game_id")->select(); + $dbres = $dbres->select(); }else{ - $dbres = $dbres->where($where)->page($page, $row)->group("company_id,m.relation_game_id")->select(); + $dbres = $dbres->page($page, $row)->select(); } - +// dump($dbres);die(); foreach($dbres as $k=>&$v){ $begin_time = explode('|',$v['begin_time']); $end_time = explode('|',$v['end_time']); $turnover_type = explode('|',$v['turnover_type']); + if (!$v['company_name']) { + $v['company_name'] = '无'; + } + foreach ($begin_time as $tk => $tv) { $begintime = date("Y-m-d",$tv); @@ -126,6 +152,10 @@ class CompanyGameRatioController extends AdminController $v["turnover_types"][$tk] = "月流水"; } elseif($turnover_type[$tk] == 2) { $v["turnover_types"][$tk] = "历史流水"; + } elseif($turnover_type[$tk] == 3) { + $v["turnover_types"][$tk] = "cp月流水"; + } elseif($turnover_type[$tk] == 4) { + $v["turnover_types"][$tk] = "cp历史流水"; } } @@ -136,6 +166,8 @@ class CompanyGameRatioController extends AdminController // $v["valid"] = "{$v['begin_time']} ~ {$v['end_time']}"; $v['company_belong'] ="下游".getCompanyBlong($v['company_belong']); +// $v['company_belong'] ="下游".$this->setCompanyBelong($v['company_belong']); + if (isset($params['export'])) { $symbol = "\n"; } else { @@ -161,13 +193,20 @@ class CompanyGameRatioController extends AdminController exit(); } - $count = M("company_game_ratio","tab_")->alias('m')->field("m.id") + $count = M("company_game_ratio","tab_")->alias('m')->field("m.company_id,p.company_name,m.id,p.company_belong,m.relation_game_id") ->join("JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id") - ->join("JOIN tab_promote_company p ON ( m.company_id = p.id".$pwhere.")") + ->join("left JOIN tab_promote_company p ON ( m.company_id = p.id".$pwhere.")") ->where($where) - ->group("company_id,m.relation_game_id") + ->group("company_id,m.relation_game_id,m.company_belong") ->select(false); + $count = M()->table("({$count})a") + ->where("company_id = '0' or company_name is not null") + ->where($secwhere) + ->group("company_id,relation_game_id,company_belong") + ->select(false); +// dump($count);die(); + $count = M()->table("({$count})a")->count(); $page = set_pagination($count, $row,$params); @@ -200,10 +239,10 @@ class CompanyGameRatioController extends AdminController $where['m.status'] = $params['status']; } - $pwhere = false; - if(isset($params['company_belong'])){ - $pwhere = " and p.company_belong = {$params['company_belong']}"; - } +// $pwhere = false; +// if(isset($params['company_belong'])){ +// $pwhere = " and p.company_belong = {$params['company_belong']}"; +// } if(isset($params['company_id'])){ $where['m.company_id'] = $params['company_id']; @@ -229,7 +268,7 @@ class CompanyGameRatioController extends AdminController if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) { $time_start = strtotime($_REQUEST['time_start']); $time_end = strtotime($_REQUEST['time_end'])+ 86399; - $where["_string"] = "(begin_time BETWEEN {$time_start} AND {$time_end}) OR (end_time BETWEEN {$time_start} AND {$time_end}) OR (begin_time <= {$time_end} AND end_time >= {$time_end}) OR (begin_time >0 AND end_time = 0)"; + $where["_string"] = "(begin_time BETWEEN {$time_start} AND {$time_end}) OR (end_time BETWEEN {$time_start} AND {$time_end}) OR (begin_time <= {$time_end} AND end_time >= {$time_end}) OR (begin_time <{$time_start} AND (end_time >{$time_end} or end_time = 0))"; } elseif (isset($_REQUEST['time_start'])) { $time_start = strtotime($_REQUEST['time_start']); $where["_string"] = "end_time >= {$time_start} OR end_time = 0"; @@ -243,12 +282,22 @@ class CompanyGameRatioController extends AdminController $gameres = M("game","tab_")->field("tab_game.relation_game_id,tab_game.relation_game_name,IF(tab_game.original_package_name='','未配置',tab_game.original_package_name) original_package_name,tab_game_type.type_name game_type_name")->where($gamewhere)->join("tab_game_type on tab_game.game_type_id = tab_game_type.id")->group("tab_game.relation_game_id")->select(false); $dbres = M("company_game_ratio_log","tab_") ->alias('m') - ->field("m.*,g.*,p.company_name,p.company_belong,IFNULL(r.settlement_type,0) settlement_type") + ->field("m.id,m.status,g.game_type_name,g.original_package_name,g.relation_game_name,m.company_id,p.company_name,m.turnover_type,begin_time,end_time,m.turnover_ratio,last_ratio,last_turnover_ratio,m.ratio,verify_log,(CASE WHEN p.company_belong is not null THEN p.company_belong ELSE m.company_belong END) company_belong,IFNULL(r.settlement_type,0) settlement_type") ->join("JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id") - ->join("JOIN tab_promote_company p ON ( m.company_id = p.id".$pwhere.")") + ->join("left JOIN tab_promote_company p ON ( m.company_id = p.id)") ->join("left JOIN tab_company_relation r ON (r.first_company_type =2 AND r.first_company_id = m.company_id) OR (r.second_company_type =2 AND r.second_company_id = m.company_id)") ->where($where) - ->order("FIELD(m.status,0,1,-1,-2,2),id desc"); + ->order("FIELD(m.status,0,1,-1,-2,2),m.id desc") + ->select(false); + + if(isset($params['company_belong'])){ + $secwhere['company_belong'] = $params['company_belong']; + } + + $dbres = M()->table("({$dbres})a") + ->where("company_id = '0' or company_name is not null") + ->where($secwhere); + if(isset($params['export'])){ $dbres = $dbres->select(); }else{ @@ -260,6 +309,10 @@ class CompanyGameRatioController extends AdminController $v['begin_time'] = date("Y-m-d",$v['begin_time']); $v['end_time'] = $v['end_time'] ? date('Y-m-d', $v['end_time']) : '永久'; + if (!$v['company_name']) { + $v['company_name'] = '无'; + } + $v["valid"] = "{$v['begin_time']} ~ {$v['end_time']}"; if($v["turnover_type"] == 0) { @@ -268,10 +321,15 @@ class CompanyGameRatioController extends AdminController $v["turnover_types"] = "月流水"; } elseif($v["turnover_type"] == 2) { $v["turnover_types"] = "历史流水"; + } elseif($v["turnover_type"] == 3) { + $v["turnover_types"] = "cp月流水"; + } elseif($v["turnover_type"] == 4) { + $v["turnover_types"] = "cp历史流水"; } $v['company_belong'] ="下游".getCompanyBlong($v['company_belong']); +// $v['company_belong'] ="下游".$this->setCompanyBelong($v['company_belong']); $v['verify_log'] = json_decode($v['verify_log'], true); if (isset($params['export'])) { $symbol = "\n"; @@ -348,10 +406,32 @@ class CompanyGameRatioController extends AdminController )); } - $count =M("company_game_ratio_log","tab_")->alias('m')->field("count(m.id) count") - ->join("JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id") - ->join("JOIN tab_promote_company p ON ( m.company_id = p.id".$pwhere.")") - ->where($where)->find()['count']; +// $count =M("company_game_ratio_log","tab_")->alias('m')->field("m.id,p.company_belong,m.company_id,p.company_name") +// ->join("JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id") +// ->join("left JOIN tab_promote_company p ON ( m.company_id = p.id)") +// ->where($where) +// ->select(false); + + $count = M("company_game_ratio_log","tab_") + ->alias('m') + ->field("m.id,m.company_id,p.company_name,m.turnover_type,(CASE WHEN p.company_belong is not null THEN p.company_belong ELSE m.company_belong END) company_belong") + ->join("JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id") + ->join("left JOIN tab_promote_company p ON ( m.company_id = p.id)") + ->join("left JOIN tab_company_relation r ON (r.first_company_type =2 AND r.first_company_id = m.company_id) OR (r.second_company_type =2 AND r.second_company_id = m.company_id)") + ->where($where) + ->order("FIELD(m.status,0,1,-1,-2,2),m.id desc") + ->select(false); + + if(isset($params['company_belong'])){ + $secwhere['company_belong'] = $params['company_belong']; + } +// die($count); + $count = M()->table("({$count})a") + ->field("count(id) count") + ->where("company_id = '0' or company_name is not null") + ->where($secwhere) + ->find()['count']; + $this->assign('data', $dbres); $page = set_pagination($count, $row,$params); if($page) { @@ -447,6 +527,7 @@ class CompanyGameRatioController extends AdminController //保存到其他表 //查找是否存在 $ratiov = [ + 'company_belong'=>$v['company_belong'], "company_id"=>$v['company_id'], "relation_game_id"=>$v['relation_game_id'], "ratio"=>$v['ratio'], @@ -456,7 +537,7 @@ class CompanyGameRatioController extends AdminController "turnover_type"=>$v['turnover_type'], ]; - $this->companyRatioTimeChange($v['company_id'],$v['relation_game_id'],$v['begin_time'],$v['end_time'],$ratiov); + $this->companyRatioTimeChange($v['company_belong'],$v['company_id'],$v['relation_game_id'],$v['begin_time'],$v['end_time'],$ratiov); // $has = $company_game_ratio->where("company_id='{$v['company_id']}' and relation_game_id='{$v['relation_game_id']}' and begin_time={$v['begin_time']} and end_time={$v['end_time']}")->find(); // if(isset($has['id'])){ @@ -474,9 +555,9 @@ class CompanyGameRatioController extends AdminController )); } - public function companyRatioTimeChange($company_id = 0, $relation_game_id = 0, $begin_time = 0, $end_time = 0,$ratiov=[]) { + public function companyRatioTimeChange($company_belong = 0,$company_id = 0, $relation_game_id = 0, $begin_time = 0, $end_time = 0,$ratiov=[]) { - if (!$company_id || !$relation_game_id) { + if (!$relation_game_id) { $this->error("公司与游戏的参数错误."); } // dump($end_time);dump($begin_time);die(); @@ -590,6 +671,11 @@ class CompanyGameRatioController extends AdminController if (!isset($params['ratio']) || $params['ratio'] === '') { $this->error('默认分成比例不能为空'); } + + if(!$params['company_id']) { + $save['company_belong'] = $params['company_belong'] ?? 0; + } + $save['turnover_ratio'] = $this->setTurnoverRatio($params); $save['ratio'] = $params['ratio'] ?? 0; $save['relation_game_id'] = $params['relation_game_id'] ?? 0; @@ -615,6 +701,7 @@ class CompanyGameRatioController extends AdminController //判断已有未审核 $where = [ + "company_belong"=>$save['company_belong'], "relation_game_id"=>$save['relation_game_id'], "company_id"=>$save['company_id'], "status"=>["LT",2],//管理员未确认 @@ -657,7 +744,7 @@ class CompanyGameRatioController extends AdminController $this->error('默认分成比例不能为空'); } //查询 - $y = M("company_game_ratio_log","tab_")->where("id='{$params['id']}'")->find(); + $y = M("company_game_ratio","tab_")->where("id='{$params['id']}'")->find(); $save['turnover_ratio'] = $this->setTurnoverRatio($params); $save['ratio'] = $params['ratio'] ?? 0; $save['last_turnover_ratio'] = $params['last_turnover_ratio']; @@ -670,6 +757,7 @@ class CompanyGameRatioController extends AdminController $save['turnover_type'] = $params['turnover_type'] ?? 1; $save['status'] = 0; $save['verify_log']=json_encode(["create_user"=>$this->admininfo["username"],"create_time"=>date("Y-m-d H:i:s")]); + $save['company_belong'] = $y['company_belong'] ?? 0; if($y['ratio'] != $save['ratio'] || $y['turnover_ratio'] != $save['turnover_ratio'] || $y['begin_time'] != $save['begin_time'] || $y['end_time'] != $save['end_time']){ $save['status'] = 0; @@ -687,11 +775,13 @@ class CompanyGameRatioController extends AdminController $gameres = M("game","tab_")->field("tab_game.relation_game_id,tab_game.relation_game_name,IF(tab_game.original_package_name='','未配置',tab_game.original_package_name) original_package_name,tab_game_type.type_name game_type_name")->join("tab_game_type on tab_game.game_type_id = tab_game_type.id")->group("tab_game.relation_game_id")->select(false); $dbres = M("company_game_ratio","tab_") ->alias('m') - ->field("m.*,g.*,p.company_name,p.company_belong") + ->field("m.*,g.*,p.company_name,m.company_belong") ->join("left JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id") ->join("left JOIN tab_promote_company p ON m.company_id = p.id") ->where($map) ->find(); + + $dbres['company_belong'] ="下游".$this->setCompanyBelong($dbres['company_belong']); $dbres['turnover_ratio'] = $dbres['turnover_ratio'] ? json_decode($dbres['turnover_ratio'], true) : $dbres['turnover_ratio']; $dbres['begin_time'] = date("Y-m-d",$dbres['begin_time']); $dbres['end_time'] = empty($dbres['end_time']) ? '' :date("Y-m-d",$dbres['end_time']); @@ -727,6 +817,7 @@ class CompanyGameRatioController extends AdminController $save['end_time'] = $params['end_time'] ? strtotime($params['end_time'])+86399 : 0; $save['remark'] = $params['remark'] ?? ''; $save['turnover_type'] = $params['turnover_type'] ?? 1; + $save['company_belong'] = $y['company_belong'] ?? 0; if($y['ratio'] != $save['ratio'] || $y['turnover_ratio'] != $save['turnover_ratio'] || $y['begin_time'] != $save['begin_time'] || $y['end_time'] != $save['end_time'] || $y['turnover_type'] != $save['turnover_type']){ $save['status'] = 0; $save['verify_log'] = json_encode(["create_user"=>$this->admininfo["username"],"create_time"=>date("Y-m-d H:i:s")]); @@ -754,11 +845,12 @@ class CompanyGameRatioController extends AdminController $gameres = M("game","tab_")->field("tab_game.relation_game_id,tab_game.relation_game_name,IF(tab_game.original_package_name='','未配置',tab_game.original_package_name) original_package_name,tab_game_type.type_name game_type_name")->join("tab_game_type on tab_game.game_type_id = tab_game_type.id")->group("tab_game.relation_game_id")->select(false); $dbres = M("company_game_ratio_log","tab_") ->alias('m') - ->field("m.*,g.*,p.company_name,p.company_belong") + ->field("m.*,g.*,p.company_name,m.company_belong") ->join("left JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id") ->join("left JOIN tab_promote_company p ON m.company_id = p.id") ->where($map) ->find(); + $dbres['company_belong'] ="下游".$this->setCompanyBelong($dbres['company_belong']); $dbres['turnover_ratio'] = $dbres['turnover_ratio'] ? json_decode($dbres['turnover_ratio'], true) : $dbres['turnover_ratio']; $dbres['begin_time'] = date("Y-m-d",$dbres['begin_time']); $dbres['end_time'] = empty($dbres['end_time']) ? '' :date("Y-m-d",$dbres['end_time']); diff --git a/Application/Admin/Controller/CompanyStatementOfflineController.class.php b/Application/Admin/Controller/CompanyStatementOfflineController.class.php index bd559b24c..04cbf863e 100644 --- a/Application/Admin/Controller/CompanyStatementOfflineController.class.php +++ b/Application/Admin/Controller/CompanyStatementOfflineController.class.php @@ -109,8 +109,9 @@ class CompanyStatementOfflineController extends ThinkController } public function doPayment() { - if(!isset($_REQUEST['ids'])) $this->error("参数错误"); + if(!isset($_REQUEST['ids']) || !isset($_REQUEST['payment_time'])) $this->error("参数错误"); $ids = $_REQUEST['ids']; + $payment_time = $_REQUEST['payment_time']; //获取所有的母单id $companyStatementInfo = M("company_statement_info","tab_"); $statementPool = $companyStatementInfo->where("id in ($ids) and pay_status <> 1")->field("pool_id,count(id) count")->group("pool_id")->select(); @@ -128,7 +129,7 @@ class CompanyStatementOfflineController extends ThinkController $saveData = [ "pay_type"=>3, "pay_status"=>1, - "pay_info"=>json_encode(["payment_user"=>$_SESSION['onethink_admin']['user_auth']["username"],"payment_time"=>date("Y-m-d H:i:s")]) + "pay_info"=>json_encode(["payment_user"=>$_SESSION['onethink_admin']['user_auth']["username"],"payment_time"=>$payment_time]) ]; $ires = $companyStatementInfo->where("id in ($ids)")->save($saveData); diff --git a/Application/Admin/Controller/CompanyStatementPoolController.class.php b/Application/Admin/Controller/CompanyStatementPoolController.class.php index f27fe45e2..993f19158 100644 --- a/Application/Admin/Controller/CompanyStatementPoolController.class.php +++ b/Application/Admin/Controller/CompanyStatementPoolController.class.php @@ -25,13 +25,15 @@ class CompanyStatementPoolController extends ThinkController ]; public $VerifyStatus=[ "-2"=>"拒绝打款", - "-1"=>"审批拒绝", - "0"=>"未审批", - "1"=>"审批通过", - "2"=>"待打款", + "-1"=>"审核拒绝", + "0"=>"未审核", + "1"=>"打款信息确认", + "2"=>"审核通过", "3"=>"打款中", "4"=>"打款成功", - "5"=>"无需打款" + "5"=>"无需打款", + "6"=>"初审通过", + "-3"=>"初审拒绝", ]; public $InfoVerifyStatus=[ "-1"=>"配置信息不全", @@ -110,7 +112,7 @@ class CompanyStatementPoolController extends ThinkController $data = $this->DBModel ->field("*") ->where($map) - ->order("FIELD(verify_status,0,1,-1,-2,2,3,4,5),id desc") + ->order("id desc") ->page($page,$row)->select(); foreach($data as $k => &$v) { @@ -137,6 +139,19 @@ class CompanyStatementPoolController extends ThinkController $symbol = "<br>"; } $v["create"]= "{$v['verify_log']['create_user']} {$symbol} {$v['verify_log']['create_time']}"; + + if(isset($v['verify_log']['firstverify_user'])){ + if($v['verify_status'] == -3){ + $ts = "初审拒绝"; + }else{ + $ts = "初审通过"; + } + $v["firstverify"]= "{$ts}({$v['verify_log']['firstverify_user']}) {$symbol} {$v['verify_log']['firstverify_time']}"; + $ts = ''; + }else{ + $v["firstverify"] = '--'; + } + if(isset($v['verify_log']['verify_user'])){ if($v['verify_status'] == -1){ $ts = "审核拒绝"; @@ -152,6 +167,8 @@ class CompanyStatementPoolController extends ThinkController if(isset($v['verify_log']['payment_user'])){ if($v['verify_status'] == -2){ $ts = "拒绝打款"; + }elseif($v['verify_status'] == 1){ + $ts = "打款信息确认"; }elseif($v['verify_status'] == 2){ $ts = "待打款"; }elseif($v['verify_status'] == 3){ @@ -247,8 +264,12 @@ class CompanyStatementPoolController extends ThinkController $this->assign("title",$statement_num); $this->assign("pool_status",$pool_info['verify_status']); $this->assign("is_payment",$pool_info['is_payment']); + if ($_REQUEST['type']) { + $this->editSpecialPuPool($infolist,$is_export); + } else { + $this->editPuPool($infolist,$is_export); + } - $this->editPuPool($infolist,$is_export); } public function editPuPool(&$infolist,$is_export) { @@ -338,12 +359,107 @@ class CompanyStatementPoolController extends ThinkController $count["platform_amount"] = "=ROUND(SUM(K2:K".$line."),2)"; $count["sum_money"] = "=ROUND(SUM(Q2:Q".$line."),2)"; } +// dump($infolist); $this->assign("data",$infolist); $this->assign("count",$count); $this->assign("is_export",$is_export); $this->display("CompanyStatementPool/editPuPool"); } + public function editSpecialPuPool(&$infolist,$is_export) { + $line = 1; + $count = []; + $week_line = 2; + //获取对接人 + foreach($infolist as $k=>&$v){ + $v['statement_info'] = json_decode($v['statement_info'],true); + $v['company_info'] = json_decode($v['company_info'],true); + $v['statement_begin_time'] = date('Y.m.d',$v['statement_begin_time']); + $v['statement_end_time'] = date('Y.m.d',$v['statement_end_time']); + if( isset($v['verify_status'])){ + if( $v['verify_status'] ==2 ){ + $v['is_payment'] = 2; //不打款 + }else{ + $v['is_payment'] = 1; + } + } + $cline = $line+1; + if($is_export){ + $v['statement_money'] = "=ROUND("; + } + + $row = 0; + foreach($v['statement_info'] as $ke=>&$va){ + $va['row'] = count($va['game_list']); + $row += count($va['game_list']); + + foreach($va['game_list'] as $key=>&$val){ + $line ++; + if($v['withdraw_type'] != 3) { +// if(!$val['ratio']&&!$val['increment_ratio']) { +// if(isset($val['ratio'])){ +// $val['increment_ratio'] = 0; +// }else{ +// $val['ratio'] = 0; +// } +// } + if (!$val['increment_ratio']) { + $val['increment_ratio'] = 0; + } + + if (!$val['ratio']) { + $val['ratio'] = 0; + } + + if (!$val['refund']) { + $val['refund'] = 0; + } +// if(isset($val['ratio'])){ +// $val['increment_ratio'] = 0; +// }else{ +// $val['ratio'] = 0; +// } + } + + if($is_export){ + if($v['withdraw_type'] != 3) { + $val['sum_money'] = "=ROUND((K{$line}-L{$line})*(M{$line}+N{$line}),2)"; + } else { + $val['sum_money'] = "=ROUND(K{$line}*(M{$line}),2)"; + } + $v['statement_money'] .= "N{$line}+"; + }else{ + $count['platform_amount'] += $val['pay_amount']; + $count['sum_money'] += $val['sum_money']; + } + } + } + + $handle_data = $this->changeDataStruct($v['statement_info'],$is_export,$week_line); + + $v['statement_info'] = $handle_data; + + $v['row'] = $row; + if($is_export){ + if($v['withdraw_type'] != 3) { + $v['statement_money'] .="O{$cline}-P{$cline},2)"; + } else { + $v['statement_money'] = substr($v['statement_money'],0,strlen($v['statement_money'])-1).",2)"; + } + } + } + + if($is_export){ + $count["platform_amount"] = "=ROUND(SUM(K2:K".$line."),2)"; + $count["sum_money"] = "=ROUND(SUM(Q2:Q".$line."),2)"; + } +// dump($infolist); + $this->assign("data",$infolist); + $this->assign("count",$count); + $this->assign("is_export",$is_export); + $this->display("CompanyStatementPool/editSpecialPuPool"); + } + //个人汇总结算查看 public function viewPuPool(&$infolist,$is_export){ $line = 1; @@ -401,7 +517,7 @@ class CompanyStatementPoolController extends ThinkController } else { $val['sum_money'] = "=ROUND(K{$line}*(N{$line}),2)"; } - $v['statement_money'] .= "O{$line}+"; + $v['statement_money'] .= "S{$line}+"; }else{ $count['platform_amount'] += $val['pay_amount']; $count['week_money'] += $val['sum_money']; @@ -420,7 +536,8 @@ class CompanyStatementPoolController extends ThinkController if($is_export){ if($v['withdraw_type'] != 3) { - $v['statement_money'] .="P{$cline}-Q{$cline},2)"; +// $v['statement_money'] .="P{$cline}-Q{$cline},2)"; + $v['statement_money'] = substr($v['statement_money'],0,strlen($v['statement_money'])-1) . ",2)"; } else { $v['statement_money'] = substr($v['statement_money'],0,strlen($v['statement_money'])-1).",2)"; } @@ -430,8 +547,8 @@ class CompanyStatementPoolController extends ThinkController if($is_export){ $count["platform_amount"] = "=ROUND(SUM(K2:K".$line."),2)"; - $count["week_money"] = "=ROUND(SUM(R2:R".$line."),2)"; - $count["sum_money"] = "=ROUND(SUM(S2:S".$line."),2)"; + $count["week_money"] = "=ROUND(SUM(S2:S".$line."),2)"; + $count["sum_money"] = "=ROUND(SUM(T2:T".$line."),2)"; } // die(); $this->assign("data",$infolist); @@ -444,7 +561,7 @@ class CompanyStatementPoolController extends ThinkController $game_list = []; $old_line = $week_line; -// dump($statement_info); + //使用时间与会长账号作为键值分离数据 foreach($statement_info as $sk=>$sv){ @@ -456,7 +573,6 @@ class CompanyStatementPoolController extends ThinkController } } -// dump($game_list); $game_data = []; $handle_data = []; @@ -483,12 +599,14 @@ class CompanyStatementPoolController extends ThinkController for ($i=0;;$i++) { if ($sv[$i]['sum_money']) { $game_data['week_amount'] += $sv[$i]['sum_money']; + $game_data['withhold_amount'] += $sv[$i]['withhold']; + $game_data['fine'] += $sv[$i]['fine']; + $game_data['reward'] += $sv[$i]['reward']; } else { break; } } -// $game_data['week_amount'] += $sv[0]['sum_money']; $game_data['game_list'] = $sv; array_push($handle_data,$game_data); @@ -497,12 +615,11 @@ class CompanyStatementPoolController extends ThinkController } } -// dump($handle_data); + $substract = 1; -// dump($game_list); -// dump($handle_data); + //添加周结算金额,合并相同的结算时间 -// dump($handle_data); + foreach($handle_data as $hk => $hv) { if($hk > 0) { @@ -516,17 +633,13 @@ class CompanyStatementPoolController extends ThinkController } } -// if ( -//// $hv['account'] == 'zj9587' || -// $hv['account'] == 'ruiyou' || $hv['account'] == 'weicheng') { -// dump($handle_data); -// } -// dump($hv); + if ($hv['time'] == $handle_data[$hk-$substract]['time']) { $handle_data[$hk-$substract]['time_row'] += $handle_data[$hk]['time_row']; $handle_data[$hk-$substract]['week_amount'] += $handle_data[$hk]['week_amount']; + $handle_data[$hk-$substract]['withhold_amount'] += $handle_data[$hk]['withhold_amount']; unset($handle_data[$hk]['time']); unset($handle_data[$hk]['time_row']); @@ -536,15 +649,11 @@ class CompanyStatementPoolController extends ThinkController } } -// $substract = 0; + foreach($handle_data as $hk => $hv) { $substract = 1; if ($is_export) { -// if ( -//// $hv['account'] == 'zj9587' || -// $hv['account'] == 'ruiyou' || $hv['account'] == 'weicheng') { -// dump($handle_data); -// } + for (;;) { if (!$handle_data[$hk+$substract]['time']&&$handle_data[$hk+$substract]['account']) { @@ -560,28 +669,19 @@ class CompanyStatementPoolController extends ThinkController break; } - } if (count($hv['game_list'])>1) { $week_line += count($hv['game_list'])-1; } -// if ( -//// $hv['account'] == 'zj9587' || -// $hv['account'] == 'ruiyou' || $hv['account'] == 'weicheng') { -// dump($handle_data); -// } - $handle_data[$hk]['week_amount'] = "=ROUND(SUM(O{$old_line}:O{$week_line}),2)"; + + $handle_data[$hk]['week_amount'] = "=ROUND(SUM(O{$old_line}:O{$week_line})+SUM(P{$old_line}:P{$week_line})-SUM(Q{$old_line}:Q{$week_line})-SUM(R{$old_line}:R{$week_line}),2)"; if (count($hv['game_list'])>1) { $old_line += count($hv['game_list']); -// if ( -//// $hv['account'] == 'zj9587' || -// $hv['account'] == 'DCX1012' || $hv['account'] == 'chuangshi168') { -// dump($old_line); -// } + } else { $old_line++; } @@ -592,17 +692,11 @@ class CompanyStatementPoolController extends ThinkController } else { $week_line = $old_line; } -// if ( -//// $hv['account'] == 'zj9587' || -// $hv['account'] == 'DCX1012' || $hv['account'] == 'chuangshi168') { -// dump($week_line); -// } } } -// dump($handle_data); return $handle_data?$handle_data:[]; } @@ -901,10 +995,19 @@ class CompanyStatementPoolController extends ThinkController //审批通过 public function verifyAgree(){ - $this->setVerifyStatus(0,1,"verify"); + $this->setVerifyStatus(6,1,"payment",false); + $this->setVerifyStatus(1,2,"verify"); } public function verifyRefuse(){ - $this->setVerifyStatus(0,-1,"verify"); + $this->setVerifyStatus([1,6],-1,"verify"); + } + + //审批通过 + public function firstverifyAgree(){ + $this->setVerifyStatus(0,6,"firstverify"); + } + public function firstverifyRefuse(){ + $this->setVerifyStatus(0,-3,"firstverify"); } //审批撤回 public function verifyReturn() { @@ -913,14 +1016,16 @@ class CompanyStatementPoolController extends ThinkController $dbres = $this->DBModel->field("id,verify_status,verify_log")->where("id in ({$ids})")->select(); foreach($dbres as $k=>&$v){ - - if($v['verify_status'] != -1&&$v['verify_status'] != 1) continue; - + $VerifyStatus = $v['verify_status']; + if(!in_array($VerifyStatus,[-1,1,2])) continue; $v['verify_log'] = json_decode($v['verify_log'],true); unset($v['verify_log']['verify_user']); unset($v['verify_log']['verify_time']); + if(isset($v['verify_log']['payment_user'])) unset($v['verify_log']['payment_user']); + if(isset($v['verify_log']['payment_time'])) unset($v['verify_log']['payment_time']); + $v['verify_log'] = json_encode($v['verify_log']); - $v['verify_status']=0; + $v['verify_status']=6; $this->DBModel->save($v); addOperationLog(['op_type'=>1,'key'=>$v['id'],"op_name"=>"审批撤回",'url'=>U('lists')]); } @@ -948,13 +1053,18 @@ class CompanyStatementPoolController extends ThinkController } - protected function setVerifyStatus($old_status,$change_status,$op_pre) + protected function setVerifyStatus($old_status,$change_status,$op_pre,$ajaxreturn=true) { if(!isset($_REQUEST['ids'])) $this->error("参数错误"); $ids = $_REQUEST['ids']; $dbres = $this->DBModel->field("id,verify_status,verify_log")->where("id in ({$ids})")->select(); foreach($dbres as $k=>&$v){ - if($v['verify_status'] != $old_status) continue; + if(is_array($old_status)){ + if(!in_array($v['verify_status'],$old_status)) continue; + }else{ + if($v['verify_status'] != $old_status) continue; + } + $v['verify_log'] = json_decode($v['verify_log'],true); $v['verify_log'][$op_pre.'_user']=$this->admininfo["username"]; $v['verify_log'][$op_pre.'_time']=date("Y.m.d H:i:s"); @@ -964,10 +1074,13 @@ class CompanyStatementPoolController extends ThinkController $opname = $this->VerifyStatus[$change_status]; addOperationLog(['op_type'=>1,'key'=>$v['id'],"op_name"=>$opname,'url'=>U('lists')]); } - $this->ajaxReturn(array( - 'status' => 1, - "info"=>$opname."成功" - )); + if($ajaxreturn){ + $this->ajaxReturn(array( + 'status' => 1, + "info"=>$opname."成功" + )); + } + } protected function setOneVerifyStatus($change_status,$op_pre,$id,$mgs = "操作") @@ -1016,6 +1129,7 @@ class CompanyStatementPoolController extends ThinkController public function editPayment(){ if(!isset($_REQUEST['info'])) $this->error("参数错误"); $info = $_REQUEST['info']; + $pool_id = $_REQUEST['pool_id']; $CompanyInfo = M("company_statement_info","tab_"); //循环保存 foreach($info as $k=>$v){ @@ -1043,8 +1157,15 @@ class CompanyStatementPoolController extends ThinkController } $CompanyInfo->save($savedata); } - //修改状态 - $this->setOneVerifyStatus(2,"payment",$_REQUEST['pool_id'],$mgs = "打款信息确认"); + $verify_status = $this->DBModel->field("verify_status")->where("id = {$pool_id}")->find()['verify_status']; + if( $verify_status == 6){ + $this->setOneVerifyStatus(1,"payment",$_REQUEST['pool_id'],$mgs = "打款信息确认"); + }else{ + $this->ajaxReturn(array( + 'status' => 1, + "info"=>"打款信息编辑成功" + )); + } } //查看打款信息 public function viewPayment(){ @@ -1421,6 +1542,7 @@ class CompanyStatementPoolController extends ThinkController "viewPool"=>"<a class='confirm viewPool' data-id='{$id}'>查看</a>", "editPool"=>"<a class='confirm editPool' data-id='{$id}'>编辑</a>", + "editSpecialPuPool"=>"<a class='confirm editSpecialPuPool' data-id='{$id}'>编辑</a>", "addRemark"=>"<a class='confirm addRemark' data-id='{$id}'>新增备注</a>", "editRemark"=>"<a class='confirm editRemark' data-remark='{$remark}' data-id='{$id}'>修改备注</a>", @@ -1449,13 +1571,13 @@ class CompanyStatementPoolController extends ThinkController $optist = ["viewPool","reCount","cancelPool"]; break; case '1': - $optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher","setPayment","setUlPayment"]; + $optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher","editPayment","setUlPayment"]; break; case '2': - $optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher","editPayment"]; + $optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher"]; break; case '3': - $optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher","editPayment","viewPayment"]; + $optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher","viewPayment"]; break; case '4': $optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher","viewPayment"]; @@ -1463,6 +1585,9 @@ class CompanyStatementPoolController extends ThinkController case '5': $optist = ["viewPool","addRemark","viewRemark","editRemark","reCount","cancelPool"]; break; + case '6': + $optist = ["viewPool","addRemark","viewRemark","editRemark","reCount","cancelPool","setPayment"]; + break; default: break; } @@ -1487,10 +1612,13 @@ class CompanyStatementPoolController extends ThinkController } if ($info['withdraw_type'] == "特殊补点") { - $optist = ['viewPool','cancelPool']; + $optist = array_diff($optist, ["reCount"]); + if ($info['company_type'] == 2 && $info['verify_status'] == '0') { + array_push($optist,'editSpecialPuPool'); + } } - if($info['company_type'] == 2 && $info['verify_status'] == '0'&&$info['withdraw_type'] != "特殊补点") { + if($info['company_type'] == 2 && ($info['verify_status'] == '6' || $info['verify_status'] == '0') &&$info['withdraw_type'] != "特殊补点") { array_push($optist,"editPool"); } @@ -1530,9 +1658,11 @@ class CompanyStatementPoolController extends ThinkController public function menuAuth() { $mentBtn = [ - "verifyAgree"=>"<a class='butn' id='verifyAgree'>审批通过</a>", + "firstverifyAgree"=>"<a class='butn' id='firstverifyAgree'>初审通过</a>", + "firstverifyRefuse"=>"<a class='butn' id='firstverifyRefuse' style='background-color: red;'>初审拒绝</a>", + "verifyAgree"=>"<a class='butn' id='verifyAgree'>审核通过</a>", "verifyRefuse"=>"<a class='butn' id='verifyRefuse' style='background-color: red;'>审核拒绝</a>", - "verifyReturn"=>"<a class='butn' id='verifyReturn'>审批撤回</a>", + "verifyReturn"=>"<a class='butn' id='verifyReturn'>审核撤回</a>", "export"=>"<a class='butn' id='export'>导出</a>" ]; $resarr = []; @@ -1558,6 +1688,7 @@ class CompanyStatementPoolController extends ThinkController $ratio = $data['ratio']; $refund = $data['refund']; + $withhold = $data['withhold']; $increment_ratio = $data['increment_ratio']; $sum_money = $data['sum_money']; $st = $data['st']; @@ -1568,45 +1699,60 @@ class CompanyStatementPoolController extends ThinkController $statement_amount = 0; $statement_lack_amount = 0; - foreach ($ratio as $key => $value) { +// dump($increment_ratio); + foreach ($increment_ratio as $key => $value) { - if ($st[$key] == 1) { - $model = M("company_statement_info","tab_"); - } else { - $model = M("company_lack_statement_info","tab_"); - } - $statement_data = $model->where(['id'=>$key])->find(); + $statement_info = array(); + foreach($value as $akey => $aval) { + + if ($st[$key][$akey] == 1) { + $model = M("company_statement_info","tab_"); + } else { + $model = M("company_lack_statement_info","tab_"); + } - $statement_info = json_decode($statement_data['statement_info'],true); + $statement_data = $model->where(['id'=>$key])->find(); - foreach ($statement_info as $k => $v) { + $statement_info = json_decode($statement_data['statement_info'],true); - $game_list = $v['game_list']; + foreach ($statement_info as $k => $v) { - foreach ($game_list as $gk => $gv) { + $game_list = $v['game_list']; - $statement_info[$k]['game_list'][$gk]['ratio'] = $ratio[$key][$v['account']][$gk]; - $statement_info[$k]['game_list'][$gk]['refund'] = $refund[$key][$v['account']][$gk]; - $statement_info[$k]['game_list'][$gk]['increment_ratio'] = $increment_ratio[$key][$v['account']][$gk]; - $statement_info[$k]['game_list'][$gk]['sum_money'] = $sum_money[$key][$v['account']][$gk]; + foreach ($game_list as $gk => $gv) { - $amount += $sum_money[$key][$v['account']][$gk]; + if ($ratio[$key][$v['account']][$gk]) { + $statement_info[$k]['game_list'][$gk]['ratio'] = (int)$ratio[$key][$v['account']][$gk]; + } + $statement_info[$k]['game_list'][$gk]['refund'] = $refund[$key][$v['account']][$gk]; + $statement_info[$k]['game_list'][$gk]['withhold'] = $withhold[$key][$v['account']][$gv['statement_begin_time']]; + $withhold[$key][$v['account']][$gv['statement_begin_time']] = 0; + + $statement_info[$k]['game_list'][$gk]['increment_ratio'] = $increment_ratio[$key][$v['account']][$gk]; + + $statement_info[$k]['game_list'][$gk]['sum_money'] = $sum_money[$key][$v['account']][$gk]; + + $amount += $sum_money[$key][$v['account']][$gk]; + + if ($st[$key][$akey] == 1) { + $statement_amount += $sum_money[$key][$v['account']][$gk]; + } else { + $statement_lack_amount += $sum_money[$key][$v['account']][$gk]; + } - if ($st[$key] == 1) { - $statement_amount += $sum_money[$key][$v['account']][$gk]; - } else { - $statement_lack_amount += $sum_money[$key][$v['account']][$gk]; } -// dump($v['account']); -// dump($sum_money[$key][$v['account']][$gk]); + } + $statement_info_data = json_encode($statement_info); + + $model->where(['id'=>$key])->save(['statement_info'=>$statement_info_data,'statement_money'=>$amount,'pay_amount'=>$amount,'remark'=>$remark[$key]]); + + $amount = 0; + } - $statement_info = json_encode($statement_info); - $model->where(['id'=>$key])->save(['statement_info'=>$statement_info,'statement_money'=>$amount,'pay_amount'=>$amount,'remark'=>$remark[$key]]); - $amount = 0; } M("company_statement_pool","tab_")->where(['id'=>$id])->save(['pay_amount'=>$statement_amount,'statement_money'=>$statement_amount,'lack_statement_money'=>$statement_lack_amount]); diff --git a/Application/Admin/Controller/CompanyStatementSetController.class.php b/Application/Admin/Controller/CompanyStatementSetController.class.php index e798f6e3d..55cd1331c 100644 --- a/Application/Admin/Controller/CompanyStatementSetController.class.php +++ b/Application/Admin/Controller/CompanyStatementSetController.class.php @@ -616,6 +616,7 @@ class CompanyStatementSetController extends Controller { $tmpp = M("PromoteCompany","tab_")->field("id,uid,company_name partner,settlement_contact link_man,address,contact_phone link_phone,bank_name opening_bank,bank_address payee_name,bank_card bank_account,fax_ratio,taxation_rate,company_belong,company_type,ali_user,ali_account,has_server_fee,server_fee,has_ratio,turnover_ratio") ->where($pc_map) ->select(); +// dump($tmpp); if(empty($tmpp)){ return true; } @@ -723,7 +724,10 @@ class CompanyStatementSetController extends Controller { if(count($t_game_ratio) == 1){ $tmp_game_ratio = $t_game_ratio[0]; - $game['pay_amount'] = $v['game_list'][$t_game_id]['pay_amount']; + + $game['pay_amount'] =$this->getRelationGameIdSpend($add_data['company_id'],$t_game_id,$tmp_game_ratio['begintime'],$tmp_game_ratio['endtime']); + +// $game['pay_amount'] = $v['game_list'][$t_game_id]['pay_amount']; $game['pay_amount'] -=0; $game['statement_begin_time']=$statement_begin_time; @@ -733,11 +737,18 @@ class CompanyStatementSetController extends Controller { if($type == 1){ $tratio =$this->getTurnoverRatio($game_all_payment,$tmp_game_ratio['ratio'],$tmp_game_ratio['turnover_ratio']); $tratio += $company_ratio; + +// if ($add_data['company_id'] == 5) { +// dump($game_all_payment); +// dump($this->getTurnoverType($t_game_id,$k,$begintime,$endtime)); +// dump($tmp_game_ratio); +// } + }elseif($type == 0){ // $tratio = $tmp_game_ratio['ratio']; $turnover_type = $this->getTurnoverType($t_game_id,$k,$begintime,$endtime); - if ($turnover_type == 2) { + if ($turnover_type == 2 || $turnover_type == 4) { $tratio =$this->getTurnoverRatio($game_all_payment,$tmp_game_ratio['ratio'],$tmp_game_ratio['turnover_ratio']); } else { $tratio = $tmp_game_ratio['ratio']; @@ -745,7 +756,7 @@ class CompanyStatementSetController extends Controller { }else{ //补点 $turnover_type = $this->getTurnoverType($t_game_id,$k,$begintime,$endtime); - if ($turnover_type == 2) { + if ($turnover_type == 2 || $turnover_type == 4) { continue; } $tratio1 =$this->getTurnoverRatio($game_all_payment,$tmp_game_ratio['ratio'],$tmp_game_ratio['turnover_ratio']); @@ -761,7 +772,9 @@ class CompanyStatementSetController extends Controller { $game['sum_money']=round($game['pay_amount']*$tratio*(100-$fax_ratio)/(100*100),2);//结算金额=平台总额*(分成比例+补点比例)*(1-税费费率) $add_data['statement_money'] += $game['sum_money']; - $add_data['statement_info'][] = $game; + if ($game['pay_amount'] != '0') { + $add_data['statement_info'][] = $game; + } }else{ // dd($t_game_ratio); for ($i=0; $i < count($t_game_ratio); $i++) { @@ -775,20 +788,27 @@ class CompanyStatementSetController extends Controller { $add_data['pay_amount'] += $temp_game['pay_amount']; if($type == 1){ + +// if ($add_data['company_id'] == 5) { +// dump($game_all_payment); +// dump($this->getTurnoverType($t_game_id,$k,$begintime,$endtime)); +// dump($tmp_game_ratio); +// } + $tratio =$this->getTurnoverRatio($game_all_payment,$tmp_game_ratio['ratio'],$tmp_game_ratio['turnover_ratio']); $tratio += $company_ratio; }elseif($type == 0){ // $tratio = $t_game_ratio['ratio']; $turnover_type = $this->getTurnoverType($t_game_id,$k,$begintime,$endtime); - if ($turnover_type == 2) { + if ($turnover_type == 2 || $turnover_type == 4) { $tratio =$this->getTurnoverRatio($game_all_payment,$tmp_game_ratio['ratio'],$tmp_game_ratio['turnover_ratio']); } else { $tratio = $tmp_game_ratio['ratio']; } }else{ $turnover_type = $this->getTurnoverType($t_game_id,$k,$begintime,$endtime); - if ($turnover_type == 2) { + if ($turnover_type == 2 || $turnover_type == 4) { continue; } //补点 @@ -804,7 +824,9 @@ class CompanyStatementSetController extends Controller { } $temp_game['sum_money']=round($temp_game['pay_amount']*$tratio*(100-$fax_ratio)/(100*100),2);//结算金额=平台总额*(分成比例+补点比例)*(1-税费费率) $add_data['statement_money'] += $temp_game['sum_money']; - $add_data['statement_info'][] = $temp_game; + if ($temp_game['pay_amount'] != '0') { + $add_data['statement_info'][] = $temp_game; + } } } } @@ -865,6 +887,19 @@ class CompanyStatementSetController extends Controller { $add_data['pay_amount'] -= $server_count;; } } + + + $is_continue = false; + $statement_data = $add_data['statement_info']; + foreach ($statement_data as $skey => $sval) { + if ($sval) { + $is_continue = true; + } + } + + if (!$is_continue) { + continue; + } $add_data['statement_info'] = json_encode($add_data['statement_info'],JSON_UNESCAPED_UNICODE); if($type == 2 && $add_data['statement_money'] == 0){ @@ -908,6 +943,8 @@ class CompanyStatementSetController extends Controller { public function getPromoteCompanySpend(&$pcList,$idarr,$begintime,$endtime){ $res = []; $all_res = []; + $cp_res = []; + $cp_all_res = []; //获取推广员 if(count($idarr) == 0){return $res;} $Promote = M("Promote","tab_"); @@ -915,7 +952,17 @@ class CompanyStatementSetController extends Controller { $spenMap = [ "s.pay_status"=>1, "s.payed_time"=>['between', [$begintime,$endtime]], + "s.is_check"=>1 ]; + $cpMap = [ + "s.pay_status"=>1, + "s.payed_time"=>['between', [$begintime,$endtime]] + ]; + $cpAllMap =[ + "s.pay_status"=>1, + "s.payed_time"=>['elt',$endtime] + ]; + for ($i=0; $i <count($idarr); $i++) { $company_id = $idarr[$i]; @@ -949,6 +996,7 @@ class CompanyStatementSetController extends Controller { } } + if(empty($list)){continue;} foreach($list as $k=>$v){ @@ -989,9 +1037,67 @@ class CompanyStatementSetController extends Controller { // ]; // $turnover_type = D("CompanyGameRatio")->field("turnover_type")->where($turnover_where)->find()['turnover_type']; $turnover_type = $this->getTurnoverType($v[$j],$company_id,$begintime,$endtime); + if ($turnover_type == 2) { $res[$company_id][$v[$j]]['ratio_pay_amount'] = $all_res[$company_id][$v[$j]]['pay_amount']; $temp += $all_res[$company_id][$v[$j]]['pay_amount']; + } elseif($turnover_type == 3){ + if (empty($cp_res[$company_id])) { + $cpSpendList = $Spend->alias('s')->field('sum(s.pay_amount) pay_amount,s.game_id,g.relation_game_id,g.relation_game_name game_name')->where($cpMap)->group('game_id') + ->join("left join tab_game g on s.game_id = g.id") + ->select(); + +// if ($company_id == 5) { +// dump($cpMap); +// } + + foreach($cpSpendList as $ck=>$cv){ + try { + $cp_res[$company_id]["pay_amount"] += $cv['pay_amount']; + } catch (\Throwable $th) { + $cp_res[$company_id]["pay_amount"] = $cv['pay_amount']; + } + if(isset($cp_res[$company_id][$cv['relation_game_id']])){ + // + $cp_res[$company_id][$cv['relation_game_id']]['pay_amount'] += $cv['pay_amount']; + }else{ + unset($cv['game_id']); + $cp_res[$company_id][$cv['relation_game_id']]= $cv; + } + } + } + + + $res[$company_id][$v[$j]]['ratio_pay_amount'] = $cp_res[$company_id][$v[$j]]['pay_amount']; + $temp += $cp_res[$company_id][$v[$j]]['pay_amount']; + + } elseif($turnover_type == 4){ + + if (empty($cp_all_res[$company_id])) { + + $cpAllSpendList = $Spend->alias('s')->field('sum(s.pay_amount) pay_amount,s.game_id,g.relation_game_id,g.relation_game_name game_name')->where($cpAllMap)->group('game_id') + ->join("left join tab_game g on s.game_id = g.id") + ->select(); + foreach ($cpAllSpendList as $ck => $cv) { + try { + $cp_all_res[$company_id]["pay_amount"] += $cv['pay_amount']; + } catch (\Throwable $th) { + $cp_all_res[$company_id]["pay_amount"] = $cv['pay_amount']; + } + if (isset($cp_all_res[$company_id][$cv['relation_game_id']])) { + // + $cp_all_res[$company_id][$cv['relation_game_id']]['pay_amount'] += $cv['pay_amount']; + } else { + unset($cv['game_id']); + $cp_all_res[$company_id][$cv['relation_game_id']] = $cv; + } + } + } + + + $res[$company_id][$v[$j]]['ratio_pay_amount'] = $cp_all_res[$company_id][$v[$j]]['pay_amount']; + $temp += $cp_all_res[$company_id][$v[$j]]['pay_amount']; + } else { // $res[$company_id][$v[$j]]['ratio_pay_amount'] = $res[$company_id][$v[$j]]['pay_amount']; $temp += $res[$company_id][$v[$j]]['pay_amount']; @@ -1016,8 +1122,62 @@ class CompanyStatementSetController extends Controller { if ($k!='pay_amount') { $turnover_type = $this->getTurnoverType($k,$key,$begintime,$endtime); + if ($turnover_type == 2) { $res[$key][$k]['ratio_pay_amount'] = $all_res[$key][$k]['pay_amount']; + } elseif($turnover_type == 3){ + + if (empty($cp_res[$key])) { +// if ($key == 5) { +// dump(2); +// dump($cpMap); +// dump($cp_res); +// } + $cpSpendList = $Spend->alias('s')->field('sum(s.pay_amount) pay_amount,s.game_id,g.relation_game_id,g.relation_game_name game_name')->where($cpMap)->group('game_id') + ->join("left join tab_game g on s.game_id = g.id") + ->select(); + + foreach($cpSpendList as $ck=>$cv){ + try { + $cp_res[$key]["pay_amount"] += $cv['pay_amount']; + } catch (\Throwable $th) { + $cp_res[$key]["pay_amount"] = $cv['pay_amount']; + } + if(isset($cp_res[$key][$cv['relation_game_id']])){ + // + $cp_res[$key][$cv['relation_game_id']]['pay_amount'] += $cv['pay_amount']; + }else{ + unset($cv['game_id']); + $cp_res[$key][$cv['relation_game_id']]= $cv; + } + } + } + + $res[$key][$k]['ratio_pay_amount'] = $cp_res[$key][$k]['pay_amount']; + } elseif($turnover_type == 4){ + + if (empty($cp_all_res[$key])) { + + $cpAllSpendList = $Spend->alias('s')->field('sum(s.pay_amount) pay_amount,s.game_id,g.relation_game_id,g.relation_game_name game_name')->where($cpAllMap)->group('game_id') + ->join("left join tab_game g on s.game_id = g.id") + ->select(); + foreach ($cpAllSpendList as $ck => $cv) { + try { + $cp_all_res[$key]["pay_amount"] += $cv['pay_amount']; + } catch (\Throwable $th) { + $cp_all_res[$key]["pay_amount"] = $cv['pay_amount']; + } + if (isset($cp_all_res[$key][$cv['relation_game_id']])) { + // + $cp_all_res[$key][$cv['relation_game_id']]['pay_amount'] += $cv['pay_amount']; + } else { + unset($cv['game_id']); + $cp_all_res[$key][$cv['relation_game_id']] = $cv; + } + } + } + + $res[$key][$k]['ratio_pay_amount'] = $cp_all_res[$key][$k]['pay_amount']; } } @@ -1037,6 +1197,11 @@ class CompanyStatementSetController extends Controller { * 返回结算流水类型 */ public function getTurnoverType($relation_game_id = 0, $company_id = 0, $begin_time = 0, $end_time = 0){ + $company_belong = M("promote_company","tab_")->field("company_belong")->where(['id'=>$company_id])->find(); + + if (!$company_belong) { + return 0; + } $turnover_where = [ "relation_game_id"=>$relation_game_id, @@ -1044,10 +1209,20 @@ class CompanyStatementSetController extends Controller { "_string"=>"begin_time <={$end_time} AND ( end_time = 0 OR end_time >= {$begin_time})" ]; $turnover_type = D("CompanyGameRatio")->field("turnover_type")->where($turnover_where)->find(); + + if (!$turnover_type) { + $turnover_where = [ + "company_belong"=>$company_belong['company_belong'], + "relation_game_id"=>$relation_game_id, + "company_id"=>0, + "_string"=>"begin_time <={$end_time} AND ( end_time = 0 OR end_time >= {$begin_time})" + ]; + $turnover_type = D("CompanyGameRatio")->field("turnover_type")->where($turnover_where)->find(); + } + //判断特殊比例是否存在,存在直接返回结算流水类型 if (!$turnover_type) { - $company_belong = M("promote_company","tab_")->field("company_belong")->where(['id'=>$company_id])->find(); //判断公司内外团类型是否存在,不存在直接返回0 if (!$company_belong) { return 0; @@ -1083,7 +1258,21 @@ class CompanyStatementSetController extends Controller { $spenMap = [ "s.pay_status"=>1, "s.payed_time"=>['between', [$begintime,$endtime]], + "s.is_check"=>1 + ]; + $cpallgame = []; + $cpgame = []; + $cpMap = [ + "s.pay_status"=>1, + "s.payed_time"=>['between', [$begintime,$endtime]] + ]; + + $cpAllMap = [ + "s.pay_status"=>1, + "s.payed_time"=>['elt',$endtime] ]; +// unset($cpAllMap["s.payed_time"]); + for ($i=0; $i <count($idarr); $i++) { $company_id = $idarr[$i]; @@ -1152,6 +1341,42 @@ class CompanyStatementSetController extends Controller { $turnover_type = $this->getTurnoverType($v[$j],$company_id,$begintime,$endtime); if ($turnover_type == 2) { $temp += $allgame[$v[$j]]['pay_amount']; + } elseif($turnover_type == 3) { + + if (empty($cpgame)) { + $cpSpendList = $Spend->alias('s')->field('sum(s.pay_amount) pay_amount,s.game_id,g.relation_game_id,g.relation_game_name game_name')->where($cpMap)->group('game_id') + ->join("left join tab_game g on s.game_id = g.id") + ->select(); +// if ($company_id == 43) { +// dump($cpMap); +// } + foreach($cpSpendList as $ck=>$cv){ + if(isset($cpgame[$cv['relation_game_id']])){ + $cpgame[$cv['relation_game_id']]['pay_amount'] += $cv['pay_amount']; + }else{ + $cpgame[$cv['relation_game_id']]['pay_amount'] = $cv['pay_amount']; + } + } + } + + $temp += $cpgame[$v[$j]]['pay_amount']; + } elseif($turnover_type == 4) { + + if (empty($cpallgame)) { + $cpAllSpendList = $Spend->alias('s')->field('sum(s.pay_amount) pay_amount,s.game_id,g.relation_game_id,g.relation_game_name game_name')->where($cpAllMap)->group('game_id') + ->join("left join tab_game g on s.game_id = g.id") + ->select(); + + foreach($cpAllSpendList as $ck=>$cv){ + if(isset($cpallgame[$cv['relation_game_id']])){ + $cpallgame[$cv['relation_game_id']]['pay_amount'] += $cv['pay_amount']; + }else{ + $cpallgame[$cv['relation_game_id']]['pay_amount'] = $cv['pay_amount']; + } + } + } + + $temp += $cpallgame[$v[$j]]['pay_amount']; } else { // $res[$company_id][$v[$j]]['ratio_pay_amount'] = $res[$company_id][$v[$j]]['pay_amount']; $temp += $game[$v[$j]]['pay_amount']; @@ -1186,6 +1411,43 @@ class CompanyStatementSetController extends Controller { if ($turnover_type == 2) { // $temp += $allgame[$v[$j]]['pay_amount']; $res[$company_id][$p_account][$v['relation_game_id']]['all_pay_amount']= $allgame[$v['relation_game_id']]['pay_amount']; + } elseif($turnover_type == 3) { + + if (empty($cpgame)) { + $cpSpendList = $Spend->alias('s')->field('sum(s.pay_amount) pay_amount,s.game_id,g.relation_game_id,g.relation_game_name game_name')->where($cpMap)->group('game_id') + ->join("left join tab_game g on s.game_id = g.id") + ->select(); +// if ($company_id == 43) { +// dump($cpMap); +// } + + foreach($cpSpendList as $ck=>$cv){ + if(isset($cpgame[$cv['relation_game_id']])){ + $cpgame[$cv['relation_game_id']]['pay_amount'] += $cv['pay_amount']; + }else{ + $cpgame[$cv['relation_game_id']]['pay_amount'] = $cv['pay_amount']; + } + } + } + + $res[$company_id][$p_account][$v['relation_game_id']]['all_pay_amount']= $cpgame[$v['relation_game_id']]['pay_amount']; + } elseif($turnover_type == 4) { + + if (empty($cpallgame)) { + $cpAllSpendList = $Spend->alias('s')->field('sum(s.pay_amount) pay_amount,s.game_id,g.relation_game_id,g.relation_game_name game_name')->where($cpAllMap)->group('game_id') + ->join("left join tab_game g on s.game_id = g.id") + ->select(); + + foreach($cpAllSpendList as $ck=>$cv){ + if(isset($cpallgame[$cv['relation_game_id']])){ + $cpallgame[$cv['relation_game_id']]['pay_amount'] += $cv['pay_amount']; + }else{ + $cpallgame[$cv['relation_game_id']]['pay_amount'] = $cv['pay_amount']; + } + } + } + + $res[$company_id][$p_account][$v['relation_game_id']]['all_pay_amount']= $cpallgame[$v['relation_game_id']]['pay_amount']; } else { // $res[$company_id][$v[$j]]['ratio_pay_amount'] = $res[$company_id][$v[$j]]['pay_amount']; $res[$company_id][$p_account][$v['relation_game_id']]['all_pay_amount']= $game[$v['relation_game_id']]['pay_amount']; @@ -1376,6 +1638,9 @@ class CompanyStatementSetController extends Controller { } } $promoteCompanyGameRatio = D("CompanyGameRatio")->getPromoteCompanyGameRatio($v['id'],$v['game_ids'],$begintime,$endtime,$company_belong); + + $handleed_data = []; + foreach($v['list'] as $ke=>$va){ $templist = $va['game_list']; $va['game_list'] = []; @@ -1394,14 +1659,20 @@ class CompanyStatementSetController extends Controller { // $tratio = $tmp_game_ratio['ratio']; $turnover_type = $this->getTurnoverType($p_info['relation_game_id'],$k,$begintime,$endtime); - if ($turnover_type == 2) { +// if ($v['id'] == 5) { +// dump($p_info['all_pay_amount']); +// dump($turnover_type); +// dump($tmp_game_ratio); +// } + + if ($turnover_type == 2||$turnover_type == 4) { $tratio =$this->getTurnoverRatio($p_info['all_pay_amount'],$tmp_game_ratio['ratio'],$tmp_game_ratio['turnover_ratio']); } else { $tratio = $tmp_game_ratio['ratio']; } }else{ $turnover_type = $this->getTurnoverType($p_info['relation_game_id'],$k,$begintime,$endtime); - if ($turnover_type == 2) { + if ($turnover_type == 2||$turnover_type == 4) { continue; } //补点 @@ -1417,6 +1688,10 @@ class CompanyStatementSetController extends Controller { $p_info['ratio']=$tratio; } + $p_info['pay_amount'] = $this->getRelationGameIdPromoteSpend($p_info["p_id"],$p_info['relation_game_id'],$tmp_game_ratio['begintime'],$tmp_game_ratio['endtime']); + + $p_info['pay_amount'] = number_format($p_info['pay_amount'],2,'.',''); + $v['platform_amount'] += $p_info['pay_amount']; $p_info['sum_money']=round($p_info['pay_amount']*$tratio/100,2); //个人等于 结算金额*比例 $v['pay_amount'] += $p_info['sum_money']; @@ -1424,8 +1699,34 @@ class CompanyStatementSetController extends Controller { $p_info['fax_ratio']=$fax_ratio; $p_info['statement_begin_time']=$statement_begin_time; $p_info['statement_end_time']=$statement_end_time; + + $RewardRecordRes = $this->getPromoteUserGameRewardRecord($v['id'],$statement_begin_time,$statement_end_time); + + if ( + ($handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['fine'] || $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['fine'] == '0') + || ($handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['reward'] || $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['reward'] == '0') + ) { + $p_info['fine'] = 0; + $p_info['reward'] = 0; + } else { + $p_info['fine'] = $RewardRecordRes['fine']?$RewardRecordRes['fine']:0; + $p_info['reward'] = $RewardRecordRes['reward']?$RewardRecordRes['reward']:0; + $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['fine'] = (string)$RewardRecordRes['fine']; + $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['reward'] = (string)$RewardRecordRes['reward']; + } +// if ($p_info['relation_game_id'] == 191 && $v['id'] == 334) { +// dump($RewardRecordRes); +// } + + + $p_info['statement_type']=0; - $va['game_list'][] = $p_info; + + if ($p_info['pay_amount'] !='0') { + $va['game_list'][] = $p_info; + } + + }else{ for ($i=0; $i < $ratioCount; $i++) { $temp_game = []; @@ -1436,8 +1737,12 @@ class CompanyStatementSetController extends Controller { }elseif($type == 0){ $turnover_type = $this->getTurnoverType($p_info['relation_game_id'],$k,$begintime,$endtime); - - if ($turnover_type == 2) { +// if ($v['id'] == 5) { +// dump($p_info['all_pay_amount']); +// dump($turnover_type); +// dump($tmp_game_ratio); +// } + if ($turnover_type == 2 || $turnover_type == 4) { $tratio =$this->getTurnoverRatio($p_info['all_pay_amount'],$tmp_game_ratio['ratio'],$tmp_game_ratio['turnover_ratio']); } else { $tratio = $tmp_game_ratio['ratio']; @@ -1446,7 +1751,7 @@ class CompanyStatementSetController extends Controller { }else{ $turnover_type = $this->getTurnoverType($p_info['relation_game_id'],$k,$begintime,$endtime); - if ($turnover_type == 2) { + if ($turnover_type == 2 || $turnover_type == 4) { continue; } //补点 @@ -1463,6 +1768,7 @@ class CompanyStatementSetController extends Controller { } $temp_game['pay_amount'] = $this->getRelationGameIdPromoteSpend($p_info["p_id"],$p_info['relation_game_id'],$tmp_game_ratio['begintime'],$tmp_game_ratio['endtime']); $temp_game['pay_amount'] -=0; + $temp_game['pay_amount'] = number_format($temp_game['pay_amount'],2,'.',''); $v['platform_amount'] += $temp_game['pay_amount']; $temp_game['sum_money']=round($temp_game['pay_amount']*$tratio/100,2); //个人等于 结算金额*比例 @@ -1474,12 +1780,35 @@ class CompanyStatementSetController extends Controller { $temp_game['statement_end_time']=date("Y.m.d",$tmp_game_ratio['endtime']); $temp_game['statement_type']=0; + $RewardRecordRes = $this->getPromoteUserGameRewardRecord($v['id'],$temp_game['statement_begin_time'],$temp_game['statement_end_time']); + + if ( + ($handleed_data[$v['id'].$temp_game['statement_begin_time'].$temp_game['statement_end_time']]['fine'] || $handleed_data[$v['id'].$temp_game['statement_begin_time'].$temp_game['statement_end_time']]['fine'] == '0') + || ($handleed_data[$v['id'].$temp_game['statement_begin_time'].$temp_game['statement_end_time']]['reward'] || $handleed_data[$v['id'].$temp_game['statement_begin_time'].$temp_game['statement_end_time']]['reward'] == '0') + ) { + $temp_game['fine'] = 0; + $temp_game['reward'] = 0; + } else { + $temp_game['fine'] = $RewardRecordRes['fine']?$RewardRecordRes['fine']:0; + $temp_game['reward'] = $RewardRecordRes['reward']?$RewardRecordRes['reward']:0; + $handleed_data[$v['id'].$temp_game['statement_begin_time'].$temp_game['statement_end_time']]['fine'] = (string)$RewardRecordRes['fine']; + $handleed_data[$v['id'].$temp_game['statement_begin_time'].$temp_game['statement_end_time']]['reward'] = (string)$RewardRecordRes['reward']; + } +// if ($p_info['relation_game_id'] == 191 && $v['id'] == 334) { +// dump($RewardRecordRes); +// } + + $temp_game['statement_type']=0; + $temp_game['relation_game_id']=$p_info["relation_game_id"]; $temp_game['game_name']=$p_info["game_name"]; $temp_game['game_type_name']=$p_info["game_type_name"]; $temp_game['all_pay_amount']=$p_info["all_pay_amount"]; - $va['game_list'][] = $temp_game; + if ($temp_game['pay_amount'] != '0') { + $va['game_list'][] = $temp_game; + } + } } } @@ -1517,6 +1846,19 @@ class CompanyStatementSetController extends Controller { "statement_info"=>json_encode($v['statement_info'],JSON_UNESCAPED_UNICODE) ]; } + $is_continue = false; + $statement_data = $v['statement_info']; + foreach ($statement_data as $skey => $sval) { + if ($sval['game_list']) { + $is_continue = true; + } +// dump($sval); + } + + if (!$is_continue) { + continue; + } + //无需补点不统计其他金额 if($type == 2 && $v['statement_money'] == 0){ continue ; @@ -1555,6 +1897,7 @@ class CompanyStatementSetController extends Controller { if($v['platform_amount'] == 0 && $v['statement_money'] == 0){ continue ; } + if($v['platform_amount'] < 300){ //存未满 // if($lackcompany['pay_amount'] != 0){ @@ -1679,6 +2022,55 @@ class CompanyStatementSetController extends Controller { } return $ratio; } + + /** + * 获取游戏奖罚 + */ + protected function getPromoteUserGameRewardRecord($cpmpamy_id,$begintime,$endtime) + { + + $begintime = strtotime(str_replace('.','-',$begintime)); + $endtime = strtotime(str_replace('.','-',$endtime))+86499; + + //获取所有公司的奖罚 + $rrmap = array( + "d.confirm_time" => ['between', [$begintime,$endtime]], + "d.company_type"=>2, + "d.company_id"=>$cpmpamy_id, + "d.settlement_type"=>2, +// "relation_game_id"=>$relation_game_id, + ); + + $rfres = M("RewardDetail","tab_") + ->alias("d") + ->field(" + IFNULL(SUM(CASE WHEN type = 1 THEN amount ELSE 0 END),0) as reward, + IFNULL(SUM(CASE WHEN type = 2 THEN amount ELSE 0 END),0) as fine") + ->join('tab_reward_record as r on d.record_id = r.id', 'LEFT') + ->where($rrmap) + ->group("company_id") + ->find(); + +// $rfres = M('reward_record', 'tab_') +// ->alias('r') +// ->field(" +// IFNULL(SUM(CASE WHEN type = 1 THEN amount ELSE 0 END),0) as reward, +// IFNULL(SUM(CASE WHEN type = 2 THEN amount ELSE 0 END),0) as fine") +// ->where($rrmap) +// ->join('tab_reward_detail as d on d.record_id = r.id', 'LEFT') +// ->group("company_id") +// ->find(); +// if ($relation_game_id == 191 && $cpmpamy_id == 334) { +// dump($rfres); +// } + + if(empty($rfres)){ + return false; + }else{ + return $rfres; + } + } + /** * 获取公司奖罚 */ @@ -1744,6 +2136,7 @@ class CompanyStatementSetController extends Controller { $spenMap = [ "s.pay_status"=>1, "s.payed_time"=>['between', [$begintime,$endtime]], + "s.is_check"=>1 ]; $company_id = $company_id; @@ -1769,6 +2162,7 @@ class CompanyStatementSetController extends Controller { $spenMap = [ "s.pay_status"=>1, "s.payed_time"=>['between', [$begintime,$endtime]], + "s.is_check"=>1 ]; $Pmap = [ @@ -1793,12 +2187,28 @@ class CompanyStatementSetController extends Controller { * return string "148,157" */ protected function getModuleRatioGame($company_id,$relation_game_ids,$begintime,$endtime){ + + + $where = [ "relation_game_id"=>["in",$relation_game_ids], "company_id"=>$company_id, "_string"=>"begin_time <={$endtime} AND ( end_time = 0 OR end_time >= {$begintime})" ]; $dbres = D("CompanyGameRatio")->field("relation_game_id")->where($where)->select(); + + if (!$dbres) { + $company_belong = M("promote_company","tab_")->field("company_belong")->where(['id'=>$company_id])->find(); + + $where = [ + "company_id"=>0, + "company_belong"=>$company_belong['company_belong'], + "relation_game_id"=>["in",$relation_game_ids], + "_string"=>"begin_time <={$endtime} AND ( end_time = 0 OR end_time >= {$begintime})" + ]; + $dbres = D("CompanyGameRatio")->field("relation_game_id")->where($where)->select(); + } + if(is_string($relation_game_ids)) $relation_game_ids = explode(",",$relation_game_ids); if(empty($dbres)){ diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php index 3247934db..4ef21467d 100644 --- a/Application/Admin/Controller/ExportController.class.php +++ b/Application/Admin/Controller/ExportController.class.php @@ -8362,9 +8362,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 +8453,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 +8543,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/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/GameRatioMouldController.class.php b/Application/Admin/Controller/GameRatioMouldController.class.php index af2df5c42..988d6bc21 100644 --- a/Application/Admin/Controller/GameRatioMouldController.class.php +++ b/Application/Admin/Controller/GameRatioMouldController.class.php @@ -66,6 +66,10 @@ class GameRatioMouldController extends AdminController $v["turnover_types"][$tk] = "月流水"; } elseif($turnover_type[$tk] == 2) { $v["turnover_types"][$tk] = "历史流水"; + } elseif($turnover_type[$tk] == 3) { + $v["turnover_types"][$tk] = "cp月流水"; + } elseif($turnover_type[$tk] == 4) { + $v["turnover_types"][$tk] = "cp历史流水"; } 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 麦当苗儿 <zuojiazi@vip.qq.com> */ - public function index($p=0){ + public function index($p=0) + { $page = intval($p); $page = $page ? $page : 1; //默认显示第一页数据 diff --git a/Application/Admin/Controller/MarketPercentageController.class.php b/Application/Admin/Controller/MarketPercentageController.class.php index 9dd1205ee..14c4b2f2b 100644 --- a/Application/Admin/Controller/MarketPercentageController.class.php +++ b/Application/Admin/Controller/MarketPercentageController.class.php @@ -1616,9 +1616,16 @@ class MarketPercentageController extends ThinkController } - $belong_game = M("company_belong_game","tab_") - ->where("((begin_time<={$time_start} and (end_time >={$time_start} or end_time=0)) or (begin_time<={$time_end} and end_time >={$time_end}) or (end_time>={$time_start} and end_time <={$time_end})) and id != {$id}") - ->select(); + if ($_POST['end_time']) { + $belong_game = M("company_belong_game","tab_") + ->where("((begin_time<={$time_start} and (end_time >={$time_start} or end_time=0)) or (begin_time<={$time_end} and end_time >={$time_end}) or (end_time>={$time_start} and end_time <={$time_end})) and id != {$id}") + ->select(); + } else { + $belong_game = M("company_belong_game","tab_") + ->where("(begin_time>={$time_start} or (end_time >={$time_start})) and id != {$id}") + ->select(); + } + if ($belong_game) { 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 131eb3c59..a1d87edb6 100644 --- a/Application/Admin/Controller/PromoteCompanyController.class.php +++ b/Application/Admin/Controller/PromoteCompanyController.class.php @@ -29,6 +29,11 @@ class PromoteCompanyController extends ThinkController //列表 public function lists() { + //设定默认时间 + if(!array_key_exists("begintime",$_REQUEST) && I('type') != 2){ + $this->redirect(ACTION_NAME, array('begintime' => date('Y-m-d',strtotime('-30 day')),"endtime"=>date('Y-m-d'))); + } + $model = M($this->modelName, 'tab_'); $is_export= false; if (isset($_REQUEST['export']) && $_REQUEST['export']==1){ @@ -95,6 +100,18 @@ class PromoteCompanyController extends ThinkController } } + +// if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) { +// $time_start = strtotime($_REQUEST['time_start']); +// $time_end = strtotime($_REQUEST['time_end'])+ 86399; +// $where["_string"] = "(begin_time BETWEEN {$time_start} AND {$time_end}) OR (end_time BETWEEN {$time_start} AND {$time_end}) OR (begin_time <= {$time_end} AND end_time >= {$time_end}) OR (begin_time >0 AND end_time = 0)"; +// } elseif (isset($_REQUEST['time_start'])) { +// $time_start = strtotime($_REQUEST['time_start']); +// $where["_string"] = "end_time >= {$time_start} OR end_time = 0"; +// } elseif (isset($_REQUEST['time_end'])) { +// $time_end = strtotime($_REQUEST['time_end'])+ 86399; +// $where["_string"] = "begin_time <= {$time_end}"; +// } // dd($map); @@ -179,11 +196,20 @@ class PromoteCompanyController extends ThinkController $v["game_ids"] = $g_id; } $senddata = $this->getGamePromoteCompanyRadio($v["id"],$v["game_ids"],$is_export); + + foreach($senddata as $key => $value) { + $senddata[$key]['ratio_data'] = array_values($senddata[$key]['ratio_data']); + } +// dump($senddata); + } $game = $this->getPromoteGameRadio($v["id"],$senddata,$promotemap); $v += $game; +// dump($game); } } + +// die(); //公司及会长数量统计 $companycount = $model->field("id")->where($map)->select(); @@ -196,6 +222,9 @@ class PromoteCompanyController extends ThinkController $this->assign('listData', $companyres); $this->assign('count', $count); $this->assign('promotecount', $promotecount); + +// dump($companyres);die(); + if($is_export){ $getData = $_GET; @@ -214,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()); @@ -224,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)); @@ -419,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(); @@ -438,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')]); @@ -534,6 +630,12 @@ class PromoteCompanyController extends ThinkController $deposit = M('president_deposit', 'tab_')->where(['company_id' => $data['id']])->find(); + $siteConfig = $data['site_config'] == '' ? null : json_decode($data['site_config'], true); + if ($siteConfig) { + $siteConfig['logo'] = get_cover($siteConfig['logo'], 'path'); + $siteConfig['icon'] = get_cover($siteConfig['icon'], 'path'); + } + $this->assign('selfCompanies', $selfCompanies); $this->assign('payWays', PresidentDepositService::$payWays); $this->assign('payTypes', PresidentDepositService::$payTypes); @@ -542,7 +644,7 @@ class PromoteCompanyController extends ThinkController $this->assign('deposit', $deposit); } $this->assign('relation', $relation); - + $this->assign('siteConfig', $siteConfig); $this->assign('data', $data); $this->meta_title ='推广公司信息查看'; $this->display(); @@ -589,6 +691,12 @@ class PromoteCompanyController extends ThinkController $selfCompanies = M('company_info', 'tab_')->field('id,partner company_name,link_man,link_phone')->where(['status' => 1])->select(); + $siteConfig = $data['site_config'] ?? null; + if ($siteConfig) { + $siteConfig['logo'] = get_cover($siteConfig['logo'], 'path'); + $siteConfig['icon'] = get_cover($siteConfig['icon'], 'path'); + } + $this->assign('selfCompanies', $selfCompanies); $this->assign('payWays', PresidentDepositService::$payWays); $this->assign('payTypes', PresidentDepositService::$payTypes); @@ -598,6 +706,7 @@ class PromoteCompanyController extends ThinkController } $this->assign('relation', $data['relation'] ?? null); $this->assign('data', $data); + $this->assign('siteConfig', $siteConfig); $this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Partner/edit'])->find()); $this->meta_title ='审核信息查看'; $this->display("view"); @@ -625,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(); @@ -704,6 +822,10 @@ class PromoteCompanyController extends ThinkController if($data['resources'] == ''){ $data['resources'] ="[]"; } + $siteConfig = null; + if ($data['site_config']) { + $siteConfig = json_decode($data['site_config'], true); + } $data['turnover_ratio'] = $data['turnover_ratio'] ? json_decode($data['turnover_ratio'], true) : $data['turnover_ratio']; // $data['game_ids'] = explode(',', $data['game_ids']); @@ -743,6 +865,7 @@ class PromoteCompanyController extends ThinkController $this->assign('relation', $relation); $this->assign('serviceAgreements', M('service_agreement', 'tab_')->select()); + $this->assign('siteConfig', $siteConfig); $this->assign('data', $data); $this->display(); } @@ -1134,13 +1257,36 @@ class PromoteCompanyController extends ThinkController } } + if (isset($save['is_site_custom']) && $save['is_site_custom'] == 1) { + if ($save['site_domain_prefix'] == '') { + $this->error('请输入推广后台域名前缀'); + } + if (strlen($save['site_domain_prefix']) > 6) { + $this->error('域名前缀不能超过6个字符'); + } + if (!preg_match('/^[a-z0-9]+$/', $save['site_domain_prefix'])) { + $this->error('域名前缀只能由小写字母和数字组成'); + } + if ($save['site_config']['icon'] == '') { + $this->error('请上传推广后台ICON'); + } + if ($save['site_config']['logo'] == '') { + $this->error('请上传推广后台logo'); + } + + /** + * @todo 暂未检查待审核的推广公司是否含有重复域名前缀 + */ + $domainExistMap = ['site_domain_prefix' => $save['site_domain_prefix']]; + if (!empty($save['id'])) { + $domainExistMap['id'] = ['neq', $save['id']]; + } + $domainCompany = M('promote_company', 'tab_')->field(['id'])->where($domainExistMap)->find(); + if ($domainCompany) { + $this->error('推广后台域名前缀已存在'); + } + } - // if(!empty(I("contact_phone")) && !checkPhone(I('contact_phone'))) { - // $this->error('联系电话格式不正确'); - // } - // if(!empty(I('reg_phone')) && !checkPhone(I('reg_phone'))) { - // $this->error('注册电话格式不正确'); - // } if(!empty(I('taxation_rate')) && I('taxation_rate') > 0) { if(!checkNumber(I('taxation_rate'))){ $this->error('税费费率格式错误'); @@ -1318,6 +1464,7 @@ class PromoteCompanyController extends ThinkController */ protected function getGamePromoteCompanyRadio($company_id,$game_ids,$is_export = false){ $is_inside = M("PromoteCompany","tab_")->field("is_inside")->where("id='{$company_id}'")->find()['is_inside']; + //判断是否有生效 $senddata = []; $game = $this->getGameInfo($game_ids); @@ -1326,19 +1473,42 @@ class PromoteCompanyController extends ThinkController $CpRadio = $this->getPromoteCompanyCpRadio($game_ids); } // dd($CpRadio); - $endtime = time(); - $rwhere = "(end_time = 0 OR end_time >= '{$endtime}') and company_id='{$company_id}' and relation_game_id in ({$game_ids})"; + + if (isset($_REQUEST['begintime']) && isset($_REQUEST['endtime'])) { + $time_start = strtotime($_REQUEST['begintime']); + $time_end = strtotime($_REQUEST['endtime'])+ 86399; + $rwhere["_string"] = "(begin_time BETWEEN {$time_start} AND {$time_end}) OR (end_time BETWEEN {$time_start} AND {$time_end}) OR (begin_time <= {$time_end} AND end_time >= {$time_end}) OR (begin_time <{$time_start} AND (end_time >{$time_end} or end_time = 0))"; + $mwhere['_string'] = "(begin_time BETWEEN {$time_start} AND {$time_end}) OR (end_time BETWEEN {$time_start} AND {$time_end}) OR (begin_time <= {$time_end} AND end_time >= {$time_end}) OR (begin_time <{$time_start} AND (end_time >{$time_end} or end_time = 0))"; + } elseif (isset($_REQUEST['begintime'])) { + $time_start = strtotime($_REQUEST['begintime']); + $rwhere["_string"] = "end_time >= {$time_start} OR end_time = 0"; + $mwhere["_string"] = "end_time >= {$time_start} OR end_time = 0"; + } elseif (isset($_REQUEST['time_end'])) { + $time_end = strtotime($_REQUEST['endtime'])+ 86399; + $rwhere["_string"] = "begin_time <= {$time_end}"; + $mwhere["_string"] = "begin_time <= {$time_end}"; + } + $company_belong = M("PromoteCompany","tab_")->field("company_belong")->where("id='{$company_id}'")->find()['company_belong']; + $rwhere['company_id'] = $company_id; + $rwhere['relation_game_id'] = ['in',$game_ids]; +// $rwhere['company_belong'] = $company_belong; +// dump($rwhere); +// $endtime = time(); +// $rwhere = "(end_time = 0 OR end_time >= '{$endtime}') and company_id='{$company_id}' and relation_game_id in ({$game_ids})"; $cgr_res = M("CompanyGameRatio","tab_")->where($rwhere)->select(); + //判断哪些游戏为空 $game_arr = array_flip(explode(",",$game_ids)); if(!empty($cgr_res)){ foreach ($cgr_res as $k => $v) { $t_gid = $v['relation_game_id']; unset($game_arr[$t_gid]); - $senddata[$t_gid] = ["turnover_ratio"=>$v['turnover_ratio'],"ratio"=>!$is_inside?$v['ratio']:0,"relation_game_id"=>$v['relation_game_id']]; + $senddata[$t_gid]['ratio_data'][$v['begin_time']] = ["turnover_ratio"=>$v['turnover_ratio'],"ratio"=>!$is_inside?$v['ratio']:0,"relation_game_id"=>$v['relation_game_id'],'time'=>(($v['begin_time']<strtotime($_REQUEST['begintime'])) ? date("Y.m.d",strtotime($_REQUEST['begintime'])) : date("Y.m.d",$v['begin_time']))."-".(($v['end_time']&&$v['end_time']>strtotime($_REQUEST['endtime']))?date("Y.m.d",$v['end_time']):date("Y.m.d",strtotime($_REQUEST['endtime'])))]; $senddata[$t_gid] += $game[$t_gid]; - $this->setPromoteRadio($senddata[$t_gid],$is_inside); + $this->setPromoteRadio($senddata[$t_gid]['ratio_data'][$v['begin_time']],$is_inside); + + $senddata[$t_gid]['row'] += $senddata[$t_gid]['ratio_data'][$v['begin_time']]['row']; if($is_export){ if(isset($CpRadio[$t_gid])){ @@ -1346,7 +1516,8 @@ class PromoteCompanyController extends ThinkController if( count($CpRadio[$t_gid]) >= $senddata[$t_gid]['row'] ){ $c = count($CpRadio[$t_gid]) - $senddata[$t_gid]['row']; for ($x=0; $x<$c; $x++) { - $senddata[$t_gid]['turnover_ratio'][]=["name"=>"--","ratio"=>"--"]; + $senddata[$t_gid]['ratio_data'][$v['begin_time']]['turnover_ratio'][]=["name"=>"--","ratio"=>"--"]; + $senddata[$t_gid]['ratio_data'][$v['begin_time']]['row'] += 1; } $senddata[$t_gid]['row'] = count($CpRadio[$t_gid]); }else{ @@ -1364,25 +1535,39 @@ class PromoteCompanyController extends ThinkController } $diff_ids = implode(",",array_keys($game_arr)); - $company_belong = M("PromoteCompany","tab_")->field("company_belong")->where("id='{$company_id}'")->find()['company_belong']; - $mwhere = "company_belong='{$company_belong}' and relation_game_id in ({$diff_ids})"; + +// $mwhere = "(end_time = 0 OR end_time >= '{$endtime}') and company_belong='{$company_belong}' and relation_game_id in ({$diff_ids})"; + + $mwhere['company_belong'] = $company_belong; + $mwhere['relation_game_id'] = ['in',$diff_ids]; + + $m_res = M("GameRatioMould","tab_")->where($mwhere)->select(); +// dump($m_res);die(); + + if(!empty($m_res)){ foreach ($m_res as $k => $v) { $t_gid = $v['relation_game_id']; unset($game_arr[$t_gid]); - $senddata[$t_gid] = ["turnover_ratio"=>$v['turnover_ratio'],"ratio"=>!$is_inside?$v['ratio']:0,"relation_game_id"=>$v['relation_game_id']]; + + $senddata[$t_gid]['ratio_data'][$v['begin_time']] = ["turnover_ratio"=>$v['turnover_ratio'],"ratio"=>!$is_inside?$v['ratio']:0,"relation_game_id"=>$v['relation_game_id'],'time'=>(($v['begin_time']<strtotime($_REQUEST['begintime'])) ? date("Y.m.d",strtotime($_REQUEST['begintime'])) : date("Y.m.d",$v['begin_time']))."-".(($v['end_time']&&$v['end_time']>strtotime($_REQUEST['endtime']))?date("Y.m.d",$v['end_time']):date("Y.m.d",strtotime($_REQUEST['endtime'])))]; $senddata[$t_gid] += $game[$t_gid]; - $this->setPromoteRadio($senddata[$t_gid],$is_inside); + + $this->setPromoteRadio($senddata[$t_gid]['ratio_data'][$v['begin_time']],$is_inside); + + $senddata[$t_gid]['row'] += $senddata[$t_gid]['ratio_data'][$v['begin_time']]['row']; + if($is_export){ if(isset($CpRadio[$t_gid])){ $senddata[$t_gid]["cp_ratio"] = $CpRadio[$t_gid]; if( count($CpRadio[$t_gid]) >= $senddata[$t_gid]['row'] ){ $c = count($CpRadio[$t_gid]) - $senddata[$t_gid]['row']; for ($x=0; $x<$c; $x++) { - $senddata[$t_gid]['turnover_ratio'][]=["name"=>"--","ratio"=>"--"]; + $senddata[$t_gid]['ratio_data'][$v['begin_time']]['turnover_ratio'][]=["name"=>"--","ratio"=>"--"]; + $senddata[$t_gid]['ratio_data'][$v['begin_time']]['row'] += 1; } $senddata[$t_gid]['row'] = count($CpRadio[$t_gid]); }else{ @@ -1401,7 +1586,9 @@ class PromoteCompanyController extends ThinkController } foreach($game_arr as $k=>$v){ if(empty($game[$k])) continue; - $senddata[$k]= ["turnover_ratio"=>[["name"=>"--","ratio"=>"--"]],"ratio"=>0,"relation_game_id"=>$k,"cp_ratio"=>[["name"=>"--","ratio"=>"--"]],"row"=>1]; + $senddata[$k]['ratio_data']['1567267200']= ["turnover_ratio"=>[["name"=>"--","ratio"=>"--"]],"ratio"=>0,"relation_game_id"=>$k,"cp_ratio"=>[["name"=>"--","ratio"=>"--"]],'time'=>date("Y.m.d",strtotime($_REQUEST['begintime']))."-".date("Y.m.d",strtotime($_REQUEST['endtime']))]; + $senddata[$k]["row"] = 1; + $senddata[$k] += $game[$k]; } return $senddata; @@ -1428,7 +1615,7 @@ class PromoteCompanyController extends ThinkController //无会长 return ["list"=>["account" => "--","list" => ["turnover_ratio"=>[["name"=>"--","ratio"=>"--"]],"ratio"=>0,"relation_game_id"=>$k,"cp_ratio"=>[["name"=>"--","ratio"=>"--"]],"row"=>1,"original_package_name"=>"--","relation_game_name"=>"--","game_type_name"=>"--"]],"row"=>1]; } - + foreach ($promoteres as $k => &$v) { $admin = isset($adminList[$v['id']]) && $adminList[$v['id']]['admin'] ? $adminList[$v['id']]['admin'] : null; $v['market_admin_username'] = $admin ? ($admin['real_name'] ? $admin['real_name'] : $admin['username']) : '无'; 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/Controller/TimingController.class.php b/Application/Admin/Controller/TimingController.class.php index be2419b2c..e2d08f314 100644 --- a/Application/Admin/Controller/TimingController.class.php +++ b/Application/Admin/Controller/TimingController.class.php @@ -771,7 +771,29 @@ class TimingController extends AdminController { $return = []; foreach ($data as $key => $value) { - $statement_info = json_decode($value['statement_info'],true); + $info = []; + $pool_data = M("company_statement_pool","tab_") + ->field("id") + ->where("(statement_begin_time <={$end_time} AND ( statement_end_time = 0 OR statement_end_time >= {$start_time})) and withdraw_type=3 and statement_ids like '%{$value['id']}%'") + ->select(); + foreach ($pool_data as $pk => $pv) { + $info = M("company_statement_info","tab_") + ->field("statement_info") + ->where("(statement_begin_time <={$end_time} AND ( statement_end_time = 0 OR statement_end_time >= {$start_time})) and withdraw_type=3 and pool_id = {$pv['id']} and company_id = {$value['company_id']}") + ->find()['statement_info']; + + if ($info) { + break; + } + + } + + if ($info) { + $statement_info = json_decode($info,true); + } else { + $statement_info = json_decode($value['statement_info'],true); + } + $is_inside = M("PromoteCompany","tab_")->field("is_inside")->where("id='{$value['company_id']}'")->find()['is_inside']; if ($value['company_type'] == 2) { @@ -787,7 +809,7 @@ class TimingController extends AdminController { continue; } // - if (isset($return[$statement_info['promote_id'].$v['relation_game_id']])) { + if (isset($return[$value['company_id']."-".$sval['promote_id']."-".$v['relation_game_id']])) { $return[$value['company_id']."-".$sval['promote_id']."-".$v['relation_game_id']] = !$is_inside?$v['sum_money']:0; } else { $return[$value['company_id']."-".$sval['promote_id']."-".$v['relation_game_id']] += !$is_inside?$v['sum_money']:0; @@ -834,15 +856,15 @@ class TimingController extends AdminController { } } - +// dump($return); return $return; } public function test() { -// $this->getSpecialComplement(strtotime(date("Y-m-1",strtotime("2020-07"))),strtotime(date("Y-m-t",strtotime("2020-07")))+86399,2259); -// dump(D("CompanyGameRatio")->getPromoteCompanyGameRatio(64,(string)211,1596211200,1598889599,1)); - $this->createMarketBonus("all"); + $this->getSpecialComplement(strtotime(date("Y-m-1",strtotime("2020-08"))),strtotime(date("Y-m-t",strtotime("2020-08")))+86399,2259); +// dump(D("CompanyGameRatio")->getPromoteCompanyGameRatio(18,(string)207,1600099200,1603728000,1)); +// $this->createMarketBonus("all"); } @@ -1177,7 +1199,7 @@ class TimingController extends AdminController { ->join("left join tab_promote_company company on promote.company_id = company.id") ->join("left join ({$data}) auth on auth.uid=market_admin_id") ->where(['develop_type'=>['egt',1],'group_id'=>['in',['11','12','21']]]) -// ->where(['company_id'=>278,'spend.promote_id'=>3917,'relation_game_id'=>213]) +// ->where(['company_id'=>43,'spend.promote_id'=>1498,'relation_game_id'=>191]) // ->order("is_settlement ASC") ->select(); @@ -1213,6 +1235,8 @@ class TimingController extends AdminController { ->order("begin_time ASC") ->select(); +// dump($company_belong_game); + $promote_data[$key]['promote_amount'] = 0; foreach ($company_belong_game as $ck => $cv) { @@ -1272,10 +1296,10 @@ class TimingController extends AdminController { } - if ($ck > 1) { -// echo 3; - if (($cv['begin_time'] - $company_belong_game[$ck-1]['end_time'] + 86399) > 1) { + if ($ck > 0) { + if (($cv['begin_time'] - $company_belong_game[$ck-1]['end_time'] + 86399) > 1) { +// echo 3; $promote_data[$key]['promote_amount'] += $this->getCompanyGameRadio($value['admin_id'],$value['promote_id'],$value['company_id'],$value['relation_game_id'],$company_belong_game[$ck-1]['end_time'] + 86400,$cv['begin_time']-1,$value['pay_amount']); } } diff --git a/Application/Admin/Model/CompanyGameRatioModel.class.php b/Application/Admin/Model/CompanyGameRatioModel.class.php index 054a33ae5..f77e8789d 100644 --- a/Application/Admin/Model/CompanyGameRatioModel.class.php +++ b/Application/Admin/Model/CompanyGameRatioModel.class.php @@ -18,6 +18,7 @@ class CompanyGameRatioModel extends Model $is_inside = M("PromoteCompany","tab_")->field("is_inside")->where("id='{$company_id}'")->find()['is_inside']; + //设置默认 $game_ratio = []; $tmp_g = explode(",",$game_ids); @@ -31,7 +32,80 @@ class CompanyGameRatioModel extends Model "turnover_ratio"=>'' ]]; }else{ - $game_ratio[$game_id] = $this->getGameRadio($company_id,$game_id,$company_belong,$begintime,$endtime); + $company_belong_game = M("company_belong_game","tab_") + ->field("game_ids,begin_time,end_time") + ->where("((begin_time<={$begintime} and (end_time >={$begintime} or end_time=0)) or (begin_time<={$endtime} and end_time >={$endtime}) or (end_time>={$begintime} and end_time <={$endtime})) AND game_ids like '%,{$game_id},%'") + ->order("begin_time ASC") + ->select(); + + if ($company_belong == 1 && !empty($company_belong_game)) { + + $company_begin_time = $begintime; + $company_end_time = $endtime; + $game_ratio[$game_id] = []; + foreach($company_belong_game as $key => $value) { + + if ($value['begin_time'] > $company_begin_time) { + $game_ratio[$game_id] = array_merge($game_ratio[$game_id],$this->getGameRadio($company_id,$game_id,$company_belong,$company_begin_time,$value['begin_time']-1)); + + if ($value['end_time'] >= $company_end_time || !$value['end_time']) { +// $game_ratio[$game_id] = array_merge($game_ratio[$game_id],[[ +// "begintime" => $value['begin_time'], +// "endtime"=>$company_end_time, +// "ratio"=>0, +// "turnover_ratio"=>'' +// ]]); + } else { +// $game_ratio[$game_id] = array_merge($game_ratio[$game_id],[[ +// "begintime" => $value['begin_time'], +// "endtime"=>$value['end_time']+86399, +// "ratio"=>0, +// "turnover_ratio"=>'' +// ]]); + if (!$company_belong_game[$key+1]['begin_time']) { +// $game_ratio[$game_id] = array_merge($game_ratio[$game_id],[[ +// "begintime" => $value['end_time']+86400, +// "endtime"=>$company_end_time, +// "ratio"=>0, +// "turnover_ratio"=>'' +// ]]); + $game_ratio[$game_id] = array_merge($game_ratio[$game_id],$this->getGameRadio($company_id,$game_id,$company_belong,$value['end_time']+86400,$company_end_time)); + } else { + $company_begin_time = $value['end_time']; + } + } + } else { + if ($value['end_time'] >= $company_end_time || !$value['end_time']) { +// $game_ratio[$game_id] = array_merge($game_ratio[$game_id],[[ +// "begintime" => $company_begin_time, +// "endtime"=>$company_end_time, +// "ratio"=>0, +// "turnover_ratio"=>'' +// ]]); + } else { +// $game_ratio[$game_id] = array_merge($game_ratio[$game_id],[[ +// "begintime" => $company_begin_time, +// "endtime"=>$value['end_time']+86399, +// "ratio"=>0, +// "turnover_ratio"=>'' +// ]]); + if (!$company_belong_game[$key+1]['begin_time']) { + $game_ratio[$game_id] = array_merge($game_ratio[$game_id],$this->getGameRadio($company_id,$game_id,$company_belong,$value['end_time']+86400,$company_end_time)); + } else { + $company_begin_time = $value['end_time']; + } + } + } + + } + + } else { +// if ($company_id == 12&&$game_id == 191) { +// dump(2); +// } + $game_ratio[$game_id] = $this->getGameRadio($company_id,$game_id,$company_belong,$begintime,$endtime); + } + } } return $game_ratio; @@ -43,9 +117,22 @@ class CompanyGameRatioModel extends Model $map = [ "company_id"=>$company_id, "relation_game_id"=>$game_id, - "_string"=>"begin_time <={$endtime} AND ( end_time = 0 OR end_time >= {$begintime})" + "_string"=>"begin_time <={$endtime} AND ( end_time = 0 OR end_time >= {$begintime})", ]; + $res = $this->where($map)->order("begin_time asc")->select(); + + if (empty($res)) { + $map = [ + "company_id"=>0, + "relation_game_id"=>$game_id, + "_string"=>"begin_time <={$endtime} AND ( end_time = 0 OR end_time >= {$begintime})", + "company_belong"=>$company_belong, + ]; + + $res = $this->where($map)->order("begin_time asc")->select(); + } + $data = []; if(empty($res)){ $this->getGameMouldRadio($data,$game_id,$company_belong,$begintime,$endtime); 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/View/CompanyGameRatio/addRatio.html b/Application/Admin/View/CompanyGameRatio/addRatio.html index 1105ad810..5dffbc456 100644 --- a/Application/Admin/View/CompanyGameRatio/addRatio.html +++ b/Application/Admin/View/CompanyGameRatio/addRatio.html @@ -100,8 +100,20 @@ <div id="tab1" class="tab-pane in tab1"> <table border="0" cellspacing="0" cellpadding="0"> <tbody> + + <tr> + <td class="l">推广公司类型:</td> + <td class="r"> + <select id="company_belong" name="company_belong" class="select_gallery"> + <option value="0">内团</option> + <option value="1">外团</option> + <option value="2">外团-分发</option> + </select> + </td> + </tr> + <tr> - <td class="l"><i class="mustmark">*</i>推广公司:</td> + <td class="l">推广公司:</td> <td class="r"> <select name="company_id" id="company_id" class="select_gallery"> <option value="">请选择公司</option> @@ -142,6 +154,8 @@ <select id="turnover_type" name="turnover_type" class="select_gallery"> <option value="1">月流水</option> <option value="2">历史流水</option> + <option value="3">cp月流水</option> + <option value="4">cp历史流水</option> </select> </td> </tr> @@ -279,7 +293,7 @@ $(function(){ //查看是否报错 var flag = true; var obj = { - "company_id":["required","推广公司不能为空","select"], + // "company_id":["required","推广公司不能为空","select"], "relation_game_id":["required","游戏不能为空","select"], "ratio":["number","默认比例必须是大于0的数字"], "begin_time":["date","开始时间不能为空"], @@ -314,13 +328,6 @@ $(function(){ }); var momday = getMonday(); - //判断日期是否小于当周周一 - // if (momday > cres.begin_time) { - // layer.msg("配置的开始日期不能小于当周周一", {icon: 2}); - // return false; - // } - - if(!flag){ return false; } diff --git a/Application/Admin/View/CompanyGameRatio/edit.html b/Application/Admin/View/CompanyGameRatio/edit.html index 8f652b7cb..813e414eb 100644 --- a/Application/Admin/View/CompanyGameRatio/edit.html +++ b/Application/Admin/View/CompanyGameRatio/edit.html @@ -100,6 +100,13 @@ <div id="tab1" class="tab-pane in tab1"> <table border="0" cellspacing="0" cellpadding="0"> <tbody> + <tr> + <td class="l">推广公司类型:</td> + <td class="r table_radio"> + <span class="form_radio table_btn">{$data.company_belong}</span> + <span class="notice-text"></span> + </td> + </tr> <tr> <td class="l">推广公司:</td> <td class="r table_radio"> @@ -131,6 +138,8 @@ <select id="turnover_type" name="turnover_type" class="select_gallery"> <option value="1" <if condition="$data['turnover_type'] eq 1">selected</if>>月流水</option> <option value="2" <if condition="$data['turnover_type'] eq 2">selected</if>>历史流水</option> + <option value="3" <if condition="$data['turnover_type'] eq 3">selected</if>>cp月流水</option> + <option value="4" <if condition="$data['turnover_type'] eq 4">selected</if>>cp历史流水</option> </select> </td> </tr> diff --git a/Application/Admin/View/CompanyGameRatio/editRatio.html b/Application/Admin/View/CompanyGameRatio/editRatio.html index b0a16d6d3..8c46ac2b3 100644 --- a/Application/Admin/View/CompanyGameRatio/editRatio.html +++ b/Application/Admin/View/CompanyGameRatio/editRatio.html @@ -100,6 +100,13 @@ <div id="tab1" class="tab-pane in tab1"> <table border="0" cellspacing="0" cellpadding="0"> <tbody> + <tr> + <td class="l">推广公司类型:</td> + <td class="r table_radio"> + <span class="form_radio table_btn">{$data.company_belong}</span> + <span class="notice-text"></span> + </td> + </tr> <tr> <td class="l">推广公司:</td> <td class="r table_radio"> @@ -127,6 +134,8 @@ <select id="turnover_type" name="turnover_type" class="select_gallery"> <option value="1" <if condition="$data['turnover_type'] eq 1">selected</if>>月流水</option> <option value="2" <if condition="$data['turnover_type'] eq 2">selected</if>>历史流水</option> + <option value="3" <if condition="$data['turnover_type'] eq 3">selected</if>>cp月流水</option> + <option value="4" <if condition="$data['turnover_type'] eq 4">selected</if>>cp历史流水</option> </select> </td> </tr> diff --git a/Application/Admin/View/CompanyStatementOffline/lists.html b/Application/Admin/View/CompanyStatementOffline/lists.html index 935c60ec7..5e167bb4c 100644 --- a/Application/Admin/View/CompanyStatementOffline/lists.html +++ b/Application/Admin/View/CompanyStatementOffline/lists.html @@ -291,17 +291,31 @@ } text = text.join(","); + var date = false; - if(confirm){ - layer.confirm('【警告】确认打款后将不可回退,如需继续请点击确认', { - btn: ['确认','取消'], - title:false - }, function(){ + layer.open({ + title : '打款时间确认', + content : `<input type="text" readonly id="deposit_recept_time" value="" placeholder="打款时间"/>`, + success : function() { + $('#deposit_recept_time').datetimepicker({ + format: 'yyyy-mm-dd', + language: "zh-CN", + minView: 2, + autoclose: true + }); + $("#deposit_recept_time").datetimepicker("setDate", new Date()); + }, + yes : function(index, layero) { + date = $('#deposit_recept_time').val(); + if (!date) { + layer.msg('请选择打款时间'); + return true; + } _doAgreeApply(); - }); - }else{ - _doAgreeApply(); - } + + return true; + } + }); function _doAgreeApply(){ //执行 @@ -310,7 +324,7 @@ url: "{:U('doPayment')}", dataType: 'json', async: false, - data: {ids:text}, + data: {ids:text,payment_time:date}, success:function(data){ if(data.status==1){ layer.msg("<font style='color:white'>" + data.info + "</font>"); diff --git a/Application/Admin/View/CompanyStatementPool/editPuPool.html b/Application/Admin/View/CompanyStatementPool/editPuPool.html index 354397cb2..b40ab82ba 100644 --- a/Application/Admin/View/CompanyStatementPool/editPuPool.html +++ b/Application/Admin/View/CompanyStatementPool/editPuPool.html @@ -121,6 +121,7 @@ <th>分成结算金额</th> <th>奖励</th> <th>罚款</th> + <th>其他扣款</th> <th>周结算金额</th> <th>结算金额</th> @@ -170,9 +171,10 @@ <td><input class="increment_ratio" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}" name="increment_ratio[{$com['id']}][{$com['statement_info'][0]['account']}][]" value="{$com['statement_info'][0]['game_list'][0]['increment_ratio']}" style="width: 25px;">%</td> <td><span class="sum_money_span">{$com['statement_info'][0]['game_list'][0]['sum_money']}</span> <input class="sum_money" name="sum_money[{$com['id']}][{$com['statement_info'][0]['account']}][]" value="{$com['statement_info'][0]['game_list'][0]['sum_money']}" style="width: 20px;display: none"> - <input class="st" name="st[{$com['id']}]" value="{$com['st']}" style="width: 20px;display: none"></td> + <input class="st" name="st[{$com['id']}][{$com['statement_info'][0]['account']}]" value="{$com['st']}" style="width: 20px;display: none"></td> <td rowspan="{$com.row}">{$com['reward']}</td> <td rowspan="{$com.row}">{$com['fine']}</td> + <td rowspan="{$com['statement_info'][0]['time_row']}"><input class="withhold" onkeyup ="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" value="{$com['statement_info'][0]['withhold_amount']|default=0}" style="width: 40px;" name="withhold[{$com['id']}][{$com['statement_info'][0]['account']}][{$com['statement_info'][0]['game_list'][0]['statement_begin_time']}]"></td> <td rowspan="{$com['statement_info'][0]['time_row']}" class="week_amount">{$com['statement_info'][0]['week_amount']}</td> <td rowspan="{$com.row}" data-st="{$com['st']}" class="statement_money">{$com['statement_money']}</td> @@ -228,6 +230,7 @@ <td><input class="ratio" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}" name="ratio[{$com['id']}][{$com['statement_info'][0]['account']}][]" value="{$game['ratio']}" style="width: 25px;">%</td> <td><input class="increment_ratio" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}" name="increment_ratio[{$com['id']}][{$com['statement_info'][0]['account']}][]" value="{$game['increment_ratio']}" style="width: 25px;">%</td> <td><span class="sum_money_span">{$game['sum_money']}</span><input class="sum_money" name="sum_money[{$com['id']}][{$com['statement_info'][0]['account']}][]" value="{$game['sum_money']}" style="width: 20px;display: none"></td> +<!-- <td><input class="withhold" onkeyup ="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" value="{$game['withhold']|default=0}" style="width: 40px;" name="withhold[{$com['id']}][{$com['statement_info'][0]['account']}][]"></td>--> </tr> </if> @@ -258,6 +261,7 @@ <td><input class="increment_ratio" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}" name="increment_ratio[{$com['id']}][{$account['account']}][]" value="{$account['game_list'][0]['increment_ratio']}" style="width: 25px;">%</td> <td><span class="sum_money_span">{$account['game_list'][0]['sum_money']}</span><input class="sum_money" name="sum_money[{$com['id']}][{$account['account']}][]" value="{$account['game_list'][0]['sum_money']}" style="width: 20px;display: none"></td> <notempty name="account['time']"> + <td rowspan="{$account['time_row']}"><input class="withhold" onkeyup ="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" value="{$account['withhold_amount']|default=0}" style="width: 40px;" name="withhold[{$com['id']}][{$account['account']}][{$account['game_list'][0]['statement_begin_time']}]"></td> <td rowspan="{$account['time_row']}" class="week_amount">{$account['week_amount']}</td> </notempty> <else /> @@ -270,6 +274,7 @@ <td>-</td> <td>-</td> <td>-</td> + <td>-</td> </notempty> </tr> @@ -287,6 +292,7 @@ <td><input class="ratio" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}" name="ratio[{$com['id']}][{$account['account']}][]" value="{$game['ratio']}" style="width: 25px;">%</td> <td><input class="increment_ratio" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}" name="increment_ratio[{$com['id']}][{$account['account']}][]" value="{$game['increment_ratio']}" style="width: 25px;">%</td> <td><span class="sum_money_span">{$game['sum_money']}</span><input class="sum_money" name="sum_money[{$com['id']}][{$account['account']}][]" value="{$game['sum_money']}" style="width: 20px;display: none"></td> +<!-- <td><input class="withhold" onkeyup ="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" value="{$game['withhold']|default=0}" style="width: 40px;" name="withhold[{$com['id']}][{$account['account']}][]"></td>--> </tr> </if> @@ -307,6 +313,7 @@ <td></td> <td></td> <td></td> + <td></td> <td class="count_sum_money">{$count.sum_money}</td> <td class="count_sum_money">{$count.sum_money}</td> <td></td> @@ -404,6 +411,12 @@ changeSumAmount(); }); + $(".withhold").on("blur",function () { + caculate_sum_money(this); + changeStatementAmount(this); + changeSumAmount(); + }); + $(".ratio").on("blur",function () { caculate_sum_money(this); changeStatementAmount(this); @@ -438,6 +451,17 @@ refund = pay_money; $(_this).parent().parent().find(".refund").val(refund); } + + //退款 + var withhold = $(_this).parent().parent().find(".withhold").val(); + if (!withhold || withhold < 0) { + withhold = 0; + $(_this).parent().parent().find(".withhold").val(withhold); + } else if(parseFloat(withhold) > parseFloat(pay_money)) { + withhold = pay_money; + $(_this).parent().parent().find(".withhold").val(withhold); + } + //补点 var increment_ratio = $(_this).parent().parent().find(".increment_ratio").val(); if (!increment_ratio || increment_ratio < 0) { @@ -453,7 +477,7 @@ //扣款 pay_money = parseFloat(pay_money) - parseFloat(refund); - var value = parseFloat(pay_money)*(parseFloat(ratio)/100) + parseFloat(pay_money)*(parseFloat(increment_ratio)/100); + var value = (parseFloat(pay_money)*(parseFloat(ratio)/100) + parseFloat(pay_money)*(parseFloat(increment_ratio)/100)); $(_this).parent().parent().find(".sum_money_span").text(value.toFixed(2)); $(_this).parent().parent().find(".sum_money").val(value.toFixed(2)); @@ -464,14 +488,14 @@ for (;;) { week_amount = week_amount_find.find(".week_amount").text(); - if (week_amount_find) { + if (week_amount) { break; } else { week_amount_find = week_amount_find.prev(); } } - var D_value = parseFloat(old_amount)-parseFloat(this_amount); + var D_value = parseFloat(old_amount)-parseFloat(this_amount) - parseFloat(withhold); week_amount_find.find(".week_amount").text((parseFloat(week_amount)-D_value).toFixed(2)); diff --git a/Application/Admin/View/CompanyStatementPool/editSpecialPuPool.html b/Application/Admin/View/CompanyStatementPool/editSpecialPuPool.html new file mode 100644 index 000000000..6e247dc28 --- /dev/null +++ b/Application/Admin/View/CompanyStatementPool/editSpecialPuPool.html @@ -0,0 +1,563 @@ +<!DOCTYPE html> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="UTF-8"> + <title></title> + <link rel="stylesheet" type="text/css" href="__CSS__/base.css" media="all"> + <link rel="stylesheet" type="text/css" href="__CSS__/common.css" media="all"> + <link rel="stylesheet" type="text/css" href="__CSS__/style.css" media="all"> + <link rel="stylesheet" type="text/css" href="__CSS__/default_color.css" media="all"> + <link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css"> + <link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css"> + <link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" /> + + <script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script> + <script type="text/javascript" src="__STATIC__/jquery.form.js"></script> + <script type="text/javascript" src="__JS__/select2.min.js"></script> + <script type="text/javascript" src="__STATIC__/layer3/layer.js"></script> + <script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script> + <script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"charset="UTF-8"></script> + <script src="__STATIC__/juicer-min.js" type="text/javascript"></script> + <script src="__STATIC__/table2excel.js"></script> +</head> +<style> + html { + min-width:100%; + } + body { + padding: 0px 10px 150px 10px; + /* width: 960px; */ + margin: auto; + } + /* .tabcon1711 table{ + width: 480px; + } */ + table{ + + margin: auto; + } + tr{ + border-bottom: dotted 1px #c7c7c7; + } + .hidebox{ + display: none; + } + .r{ + width: 300px; + } + .l{ + width: 180px; + } + .select2-container--default .select2-selection--single { + color: #000; + resize: none; + border-width: 1px; + border-style: solid; + border-color: #a7b5bc #ced9df #ced9df #a7b5bc; + box-shadow: 0px 3px 3px #F7F8F9 inset; + height: 35px; + height: 28px; + border-radius: 3px; + font-size: 12px; + } + + .select2-container--default .select2-selection--single .select2-selection__rendered { + line-height: 35px; + line-height: 28px; + } + + .select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + } + + .select2-container--default .select2-search--dropdown .select2-search__field { + height: 26px; + line-height: 26px; + font-size: 12px; + } + + .select2-results__option[aria-selected] { + font-size: 12px; + } + .input-list, .i_list { + float: left; + margin: 0; + } + #statementShow td{ + line-height: 1.5; + padding: 8px 0; + } +</style> +<body> + <!-- <div style="width: 100%;line-height: 100px;font-size: 25px;font-weight: 600;text-align: center;"> + 海南万盟天下科技有限公司 + </div> --> + + <div class="data_list box_mt" style="margin-top: 10px;"> + <div class=""> + <form id="form" method="post" class="form-horizontal" action="{:U('editCompanyStatementPool')}" enctype="multipart/form-data" target="rfFrame"> + <table id="exporttable"> + <!-- 表头 --> + <thead> + <tr> + <th>序号</th> + <th>下游名称</th> +<!-- <th>结算时间</th>--> + <th>会长账号</th> + + <th>内外团</th> + <th>开发类型</th> + + <th>市场专员</th> + <th>下游性质</th> + <th>产品</th> + <th>产品类型</th> + <th>结算时间</th> + <th>推广流水</th> + <th>退款</th> + <th>分成比例</th> + <th>补点</th> + <th>分成结算金额</th> + <th>奖励</th> + <th>罚款</th> + <th>其他扣款</th> + <th>周结算金额</th> + <th>结算金额</th> + + <th>户名</th> + <th>帐号</th> + <th>开户行</th> + <th>是否支付宝打款</th> + <th>是否结算</th> + <th>备注</th> + + <if condition="!$is_export"> + <th>操作</th> + </if> + + </tr> + </thead> + <tbody id="statementShow"> + + <foreach name="data" item="com"> + <tr> + <td rowspan="{$com.row}">{$key-0+1}</td> + <td rowspan="{$com.row}">{$com.company_name}</td> + + <!-- <td rowspan="{$com.statement_count}">{$com.company_info.account}</td> --> + + <notempty name="com['statement_info']"> +<!-- <td rowspan="{$com['statement_info'][0]['time_row']}">{$com['statement_info'][0]['time']}</td>--> + <td rowspan="{$com['statement_info'][0]['row']}" >{$com['statement_info'][0]['account']}</td> + <else /> + <td>-</td> + </notempty> + + <td rowspan="{$com.row}">{$com.company_info.company_belong_str}</td> + <td rowspan="{$com.row}">{$com.company_info.company_relation_str}</td> + + <td rowspan="{$com.row}">{$com.company_info.nickname}</td> + <td rowspan="{$com.row}">{$com.company_info.company_type_str}</td> + + <notempty name="com['statement_info'][0]['game_list']"> + <td>{$com['statement_info'][0]['game_list'][0]['game_name']}</td> + <td>{$com['statement_info'][0]['game_list'][0]['game_type_name']}</td> + <td rowspan="{$com['statement_info'][0]['time_row']}">{$com['statement_info'][0]['time']}</td> +<!-- <td>{$com['statement_info'][0]['game_list'][0]['statement_begin_time']}-{$com['statement_info'][0]['game_list'][0]['statement_end_time']}</td>--> + <td><span class="pay_amount">{$com['statement_info'][0]['game_list'][0]['pay_amount']}</span></td> + <td> + {$com['statement_info'][0]['game_list'][0]['refund']|default=0} +<!-- <input class="refund" onkeyup ="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" value="{$com['statement_info'][0]['game_list'][0]['refund']|default=0}" style="width: 40px;" name="refund[{$com['id']}][{$com['statement_info'][0]['account']}][]">--> + </td> + <td>{$com['statement_info'][0]['game_list'][0]['ratio']}%</td> + <td><input class="increment_ratio" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}" name="increment_ratio[{$com['id']}][{$com['statement_info'][0]['account']}][]" value="{$com['statement_info'][0]['game_list'][0]['increment_ratio']}" style="width: 25px;">%</td> + <td><span class="sum_money_span">{$com['statement_info'][0]['game_list'][0]['sum_money']}</span> + <input class="sum_money" name="sum_money[{$com['id']}][{$com['statement_info'][0]['account']}][]" value="{$com['statement_info'][0]['game_list'][0]['sum_money']}" style="width: 20px;display: none"> + <input class="st" name="st[{$com['id']}][{$com['statement_info'][0]['account']}]" value="{$com['st']}" style="width: 20px;display: none"></td> + <td rowspan="{$com.row}">{$com['reward']}</td> + <td rowspan="{$com.row}">{$com['fine']}</td> + <td rowspan="{$com['statement_info'][0]['time_row']}"> + {$com['statement_info'][0]['game_list'][0]['withhold']|default=0} +<!-- <input class="withhold" onkeyup ="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" value="{$com['statement_info'][0]['game_list'][0]['withhold']|default=0}" style="width: 40px;" name="withhold[{$com['id']}][{$com['statement_info'][0]['account']}][]">--> + </td> + <td rowspan="{$com['statement_info'][0]['time_row']}" class="week_amount">{$com['statement_info'][0]['week_amount']}</td> + <td rowspan="{$com.row}" data-st="{$com['st']}" class="statement_money">{$com['statement_money']}</td> + + <else /> + <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> + <td rowspan="{$com.row}">-</td> + <td rowspan="{$com.row}">-</td> + <td rowspan="{$com.row}">-</td> + + </notempty> + + <if condition="$com['is_payment'] eq 2"> + <td rowspan="{$com.row}">{$com.company_info.payee_name}</td> + <td rowspan="{$com.row}"> {$com.company_info.bank_account}</td> + <td rowspan="{$com.row}">{$com.company_info.opening_bank}</td> + </if> + + <if condition="$com['is_payment'] eq 1"> + <td rowspan="{$com.row}">{$com.company_info.ali_user}</td> + <td rowspan="{$com.row}">{$com.company_info.ali_account}</td> + <td rowspan="{$com.row}"></td> + </if> + <td rowspan="{$com.row}"><if condition="$com['is_payment'] eq 1">是 <else /> 否 </if></td> + <td rowspan="{$com.row}"><if condition="$com['st'] eq 0">否 <else /> 是 </if></td> + <td rowspan="{$com.row}"><textarea name="remark[{$com['id']}]">{$com.remark}</textarea></td> + + <if condition="!$is_export"> + <td rowspan="{$com.row}"> + <if condition="($com['st'] eq 1 ) AND ($pool_status lt 1)"> + <a data-id="{$com['id']}" class='butn no_statement' style="cursor:pointer">不结算</a> + </if> + </td> + </if> + + </tr> + + <if condition="$com['statement_info'][0]['row'] gt 1"> + <foreach name="com['statement_info'][0]['game_list']" item="game" key="gamekey"> + <if condition="$gamekey gt 0"> + <tr> + <td>{$game['game_name']}</td> + <td>{$game['game_type_name']}</td> +<!-- <td>{$game['statement_begin_time']}-{$game['statement_end_time']}</td>--> + <td><span class="pay_amount">{$game['pay_amount']}</span></td> + <td><input class="refund" onkeyup ="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" value="{$game['refund']|default=0}" style="width: 40px;" name="refund[{$com['id']}][{$com['statement_info'][0]['account']}][]"></td> + <td>{$game['ratio']}%</td> + <td><input class="increment_ratio" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}" name="increment_ratio[{$com['id']}][{$com['statement_info'][0]['account']}][]" value="{$game['increment_ratio']}" style="width: 25px;">%</td> + <td><span class="sum_money_span">{$game['sum_money']}</span><input class="sum_money" name="sum_money[{$com['id']}][{$com['statement_info'][0]['account']}][]" value="{$game['sum_money']}" style="width: 20px;display: none"></td> +<!-- <td><input class="withhold" onkeyup ="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" value="{$game['withhold']|default=0}" style="width: 40px;" name="withhold[{$com['id']}][{$com['statement_info'][0]['account']}][]"></td>--> + + </tr> + </if> + </foreach> + </if> + + + <notempty name="com['statement_info'][1]"> + + <foreach name="com['statement_info']" item="account" key="akey"> + <if condition="$akey gt 0"> + <tr> + + <td rowspan="{$account['row']}" class="accounts">{$account['account']}</td> + + <notempty name="account['game_list']"> + <td>{$account['game_list'][0]['game_name']}</td> + <td>{$account['game_list'][0]['game_type_name']}</td> + <notempty name="account['time']"> + <td rowspan="{$account['time_row']}">{$account['time']}</td> + </notempty> +<!-- <td>{$account['game_list'][0]['statement_begin_time']}-{$account['game_list'][0]['statement_end_time']}</td>--> + <td><span class="pay_amount">{$account['game_list'][0]['pay_amount']}</span></td> + <!-- <td>{$account['game_list'][0]['ratio']|showNumPercent}</td>--> + <!-- <td>{$account['game_list'][0]['increment_ratio']|showNumPercent}</td>--> + <td><input class="refund" onkeyup ="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" value="{$account['game_list'][0]['refund']|default=0}" style="width: 40px;" name="refund[{$com['id']}][{$account['account']}][]"></td> + <td>{$account['game_list'][0]['ratio']}%</td> + <td><input class="increment_ratio" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}" name="increment_ratio[{$com['id']}][{$account['account']}][]" value="{$account['game_list'][0]['increment_ratio']}" style="width: 25px;">%</td> + <td><span class="sum_money_span">{$account['game_list'][0]['sum_money']}</span><input class="sum_money" name="sum_money[{$com['id']}][{$account['account']}][]" value="{$account['game_list'][0]['sum_money']}" style="width: 20px;display: none"></td> + <notempty name="account['time']"> + <td rowspan="{$account['time_row']}"><input class="withhold" onkeyup ="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" value="{$account['withhold_amount']|default=0}" style="width: 40px;" name="withhold[{$com['id']}][{$account['account']}][{$account['game_list'][0]['statement_begin_time']}]"></td> + <td rowspan="{$account['time_row']}" class="week_amount">{$account['week_amount']}</td> + </notempty> + <else /> + <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> + </notempty> + </tr> + + <if condition="$account['row'] gt 1"> + <foreach name="account['game_list']" item="game" key="gamekey"> + <if condition="$gamekey gt 0"> + <tr> + <td>{$game['game_name']}</td> + <td>{$game['game_type_name']}</td> +<!-- <td>{$game['statement_begin_time']}-{$game['statement_end_time']}</td>--> + <td><span class="pay_amount">{$game['pay_amount']}</span></td> + <!-- <td>{$game['ratio']|showNumPercent}</td>--> + <!-- <td>{$game['increment_ratio']|showNumPercent}</td>--> + <td><input class="refund" onkeyup ="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" value="{$game['refund']|default=0}" style="width: 40px;" name="refund[{$com['id']}][{$account['account']}][]"></td> + <td>{$game['ratio']}%</td> + <td><input class="increment_ratio" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}" name="increment_ratio[{$com['id']}][{$account['account']}][]" value="{$game['increment_ratio']}" style="width: 25px;">%</td> + <td><span class="sum_money_span">{$game['sum_money']}</span><input class="sum_money" name="sum_money[{$com['id']}][{$account['account']}][]" value="{$game['sum_money']}" style="width: 20px;display: none"></td> +<!-- <td><input class="withhold" onkeyup ="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" value="{$game['withhold']|default=0}" style="width: 40px;" name="withhold[{$com['id']}][{$account['account']}][]"></td>--> + + </tr> + </if> + </foreach> + </if> + + </if> + </foreach> + + </notempty> + </foreach> + <tr> + <td colspan=10 >合计:</td> + <td >{$count.platform_amount}</td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td class="count_sum_money">{$count.sum_money}</td> + <td class="count_sum_money">{$count.sum_money}</td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <if condition="!$is_export"> + <td></td> + </if> + </tr> + </tbody> + </table> + <input type="hidden" name="id" value="{$_GET['id']}"> + </form> + <div class="form-item cf" style="float: right;margin-top: 30px;margin-right: 30px;"> + + <button class="submit_btn" id="submit" style="margin-left:210px;"> + 保存 + </button> + </div> + <iframe id="rfFrame" name="rfFrame" src="about:blank" style="display:none;"></iframe> + + </div> + </div> +</body> +<script> + <if condition="$is_export"> + $(function(){ + $("#exporttable").table2excel({ + filename: "{$title}.xls", // do include extension + preserveColors: false // set to true if you want background colors and font colors preserved + }); + }); + </if> + $(".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("<font style='color:white'>" + data.info + "</font>"); + setTimeout(function(){ + window.location.reload(); + },1500); + }else{ + layer.msg("<font style='color:white'>" + data.info + "</font>"); + return false; + } + } + }); + }); + var return_data = ""; + $("#submit").click(function(){ + 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){ + layer.msg("<font style='color:white'>" + return_data.info + "</font>"); + setTimeout(function(){ + parent.location.reload(); + },1500); + }else{ + layer.msg("<font style='color:white'>" + return_data.info + "</font>"); + return false; + } + + }, + error: function(xhr,status,msg){ + //alert("状态码"+status+"; "+msg) + layer.msg('玩命加载中..'); + + } + }; + $("#form").ajaxSubmit(options); + }); + + $(".refund").on("blur",function () { + caculate_sum_money(this); + changeStatementAmount(this); + changeSumAmount(); + }); + + $(".withhold").on("blur",function () { + caculate_sum_money(this); + changeStatementAmount(this); + changeSumAmount(); + }); + + $(".ratio").on("blur",function () { + caculate_sum_money(this); + changeStatementAmount(this); + changeSumAmount(); + }); + + $(".increment_ratio").on("blur",function () { + caculate_sum_money(this); + changeStatementAmount(this); + changeSumAmount(); + }); + // 分成结算金额重算 + function caculate_sum_money(_this) { + + var pay_money = $(_this).parent().parent().find(".pay_amount").text(); + + var ratio = $(_this).parent().parent().find(".ratio").val(); + //比例金额 + if (!ratio || ratio < 0) { + ratio = 0; + $(_this).parent().parent().find(".ratio").val(ratio); + } else if (ratio > 100) { + ratio = 100; + $(_this).parent().parent().find(".ratio").val(ratio); + } + //退款 + var refund = $(_this).parent().parent().find(".refund").val(); + if (!refund || refund < 0) { + refund = 0; + $(_this).parent().parent().find(".refund").val(refund); + } else if(parseFloat(refund) > parseFloat(pay_money)) { + refund = pay_money; + $(_this).parent().parent().find(".refund").val(refund); + } + + //退款 + var withhold = $(_this).parent().parent().find(".withhold").val(); + if (!withhold || withhold < 0) { + withhold = 0; + $(_this).parent().parent().find(".withhold").val(withhold); + } else if(parseFloat(withhold) > parseFloat(pay_money)) { + withhold = pay_money; + $(_this).parent().parent().find(".withhold").val(withhold); + } + + //补点 + var increment_ratio = $(_this).parent().parent().find(".increment_ratio").val(); + if (!increment_ratio || increment_ratio < 0) { + increment_ratio = 0; + $(_this).parent().parent().find(".increment_ratio").val(increment_ratio); + } else if(increment_ratio > 100) { + increment_ratio = 100; + $(_this).parent().parent().find(".increment_ratio").val(increment_ratio); + } + + var week_amount_find = $(_this).parent().parent(); + var old_amount = week_amount_find.find(".sum_money_span").text(); + + //扣款 + pay_money = parseFloat(pay_money) - parseFloat(refund); + var value = (parseFloat(pay_money)*(parseFloat(ratio)/100) + parseFloat(pay_money)*(parseFloat(increment_ratio)/100)); + + $(_this).parent().parent().find(".sum_money_span").text(value.toFixed(2)); + $(_this).parent().parent().find(".sum_money").val(value.toFixed(2)); + + var this_amount = week_amount_find.find(".sum_money_span").text(); + + var week_amount = 0; + for (;;) { + week_amount = week_amount_find.find(".week_amount").text(); + + if (week_amount) { + break; + } else { + week_amount_find = week_amount_find.prev(); + } + } + + var D_value = parseFloat(old_amount)-parseFloat(this_amount) - parseFloat(withhold); + + week_amount_find.find(".week_amount").text((parseFloat(week_amount)-D_value).toFixed(2)); + + + } + //结算金额重算 + function changeStatementAmount(_this) { + + var _parent = $(_this).parent().parent(); + + var statement_amount = ''; + + + for (;;) { + statement_amount = _parent.find(".statement_money").text(); + if (!statement_amount ) { + _parent = _parent.prev(); + } else { + break; + } + } + + var row = _parent.find(".statement_money").attr("rowspan"); + var get_item = _parent; + var sum_amount = 0; + + for (var i =0;i<parseInt(row);i++) { + + var amount = get_item.find(".sum_money_span").text(); + sum_amount = parseFloat(sum_amount) + parseFloat(amount); + get_item = get_item.next(); + } + + // week_amount_find.find(".week_amount").text(); + + _parent.find(".statement_money").text(sum_amount.toFixed(2)); + + } + //结算金额合计重算 + function changeSumAmount() { + + var sum_amount = 0; + var st = 0; + + $("#statementShow").find(".statement_money").each(function (key,val) { + st = $(val).data('st') + + sum_amount = parseFloat(sum_amount) + parseFloat($(val).text()); + + }); + + $(".count_sum_money").text(sum_amount.toFixed(2)); + + + + } + +</script> +</html> diff --git a/Application/Admin/View/CompanyStatementPool/lists.html b/Application/Admin/View/CompanyStatementPool/lists.html index 27e67b11f..5a669cd53 100644 --- a/Application/Admin/View/CompanyStatementPool/lists.html +++ b/Application/Admin/View/CompanyStatementPool/lists.html @@ -160,6 +160,7 @@ <!-- <th>结算流水</th> --> <th>不结算金额</th> <th>创建记录</th> + <th>初审状态</th> <th>审批状态</th> <th>打款状态</th> <th>凭证</th> @@ -187,6 +188,17 @@ <!-- <td>{$data.platform_amount}</td> --> <td>{$data.lack_statement_money}</td> <td>{$data.create}</td> + <td> + <if condition="$data.verify_status eq -3 "> + <div style="line-height: 2;color: red;"> + {$data.firstverify} + </div> + <else /> + <div style="line-height: 2;"> + {$data.firstverify} + </div> + </if> + </td> <td> <if condition="$data.verify_status eq -1 "> <div style="line-height: 2;color: red;"> @@ -307,19 +319,42 @@ }); }); + $(".editSpecialPuPool").click(function () { + var id = $(this).data("id"); + var url = "{:U('editPool')}"+"&id="+id+"&type=1" + layer.open({ + type: 2, + title: "海南万盟天下科技有限公司", + shadeClose: true, + shade: 0.8, + area: ['100%', '100%'], + content: url + }); + }); + - $("#verifyAgree,#verifyRefuse").on("click",function(){ + $("#verifyAgree,#verifyRefuse,#firstverifyAgree,#firstverifyRefuse").on("click",function(){ var id = $(this).attr("id"); if(id == "verifyAgree"){ var opname = "审批通过"; var opurl = "{:U('verifyAgree')}"; - var opst ="[未进行审批]"; - var status = [0]; + var opst ="[初审通过]"; + var status = [6,1]; }else if(id=="verifyRefuse"){ var opname = "审批拒绝"; var opurl = "{:U('verifyRefuse')}"; + var opst ="[初审通过]"; + var status = [6]; + }else if(id=="firstverifyAgree"){ + var opname = "初审通过"; + var opurl = "{:U('firstverifyAgree')}"; var opst ="[未进行审批]"; var status = [0]; + }else if(id=="firstverifyRefuse"){ + var opname = "初审拒绝"; + var opurl = "{:U('firstverifyRefuse')}"; + var opst ="[未进行审批]"; + var status = [0,1]; } var confirm = confirm ? confirm :false; @@ -392,7 +427,7 @@ var status = false; var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { console.log($(elem).data("status")) - if($(elem).data("status") == 1 || $(elem).data("status") == -1){ + if($(elem).data("status") == 1 || $(elem).data("status") == -1 || $(elem).data("status") == 2){ return $(elem).val(); } else { status = true; diff --git a/Application/Admin/View/CompanyStatementPool/viewPuPool.html b/Application/Admin/View/CompanyStatementPool/viewPuPool.html index 53a4d1ef0..1f920a664 100644 --- a/Application/Admin/View/CompanyStatementPool/viewPuPool.html +++ b/Application/Admin/View/CompanyStatementPool/viewPuPool.html @@ -119,6 +119,7 @@ <th>分成结算金额</th> <th>奖励</th> <th>罚款</th> + <th>其他扣款</th> <th>周结算金额</th> <th>结算金额</th> @@ -142,13 +143,12 @@ <td rowspan="{$com.row}">{$key-0+1}</td> <td rowspan="{$com.row}">{$com.company_name}</td> - <!-- <td rowspan="{$com.statement_count}">{$com.company_info.account}</td> --> <notempty name="com['statement_info']"> -<!-- <td rowspan="{$com['statement_info'][0]['time_row']}">{$com['statement_info'][0]['time']}</td>--> + <td rowspan="{$com['statement_info'][0]['row']}">{$com['statement_info'][0]['account']}</td> <else /> -<!-- <td>-</td>--> + <td>-</td> </notempty> @@ -162,14 +162,16 @@ <td>{$com['statement_info'][0]['game_list'][0]['game_name']}</td> <td>{$com['statement_info'][0]['game_list'][0]['game_type_name']}</td> <td rowspan="{$com['statement_info'][0]['time_row']}">{$com['statement_info'][0]['time']}</td> -<!-- <td>{$com['statement_info'][0]['game_list'][0]['statement_begin_time']}-{$com['statement_info'][0]['game_list'][0]['statement_end_time']}</td>--> + <td><span class="pay_amount">{$com['statement_info'][0]['game_list'][0]['pay_amount']}</span></td> <td>{$com['statement_info'][0]['game_list'][0]['refund']|default=0}</td> <td>{$com['statement_info'][0]['game_list'][0]['ratio']}%</td> <td>{$com['statement_info'][0]['game_list'][0]['increment_ratio']}%</td> <td><span class="sum_money_span">{$com['statement_info'][0]['game_list'][0]['sum_money']}</span></td> - <td rowspan="{$com.row}">{$com['reward']}</td> - <td rowspan="{$com.row}">{$com['fine']}</td> + + <td rowspan="{$com['statement_info'][0]['time_row']}">{$com['statement_info'][0]['reward']||default="0"}</td> + <td rowspan="{$com['statement_info'][0]['time_row']}">{$com['statement_info'][0]['fine']||default="0"}</td> + <td rowspan="{$com['statement_info'][0]['time_row']}">{$com['statement_info'][0]['game_list'][0]['withhold']|default=0}</td> <td rowspan="{$com['statement_info'][0]['time_row']}">{$com['statement_info'][0]['week_amount']||default="0"}</td> <td rowspan="{$com.row}">{$com['statement_money']}</td> @@ -219,13 +221,14 @@ <tr> <td>{$game['game_name']}</td> <td>{$game['game_type_name']}</td> -<!-- <td>{$game['statement_begin_time']}-{$game['statement_end_time']}</td>--> + <td><span class="pay_amount">{$game['pay_amount']}</span></td> <td>{$game['refund']|default=0}</td> <td>{$game['ratio']}%</td> <td>{$game['increment_ratio']}%</td> <td><span class="sum_money_span">{$game['sum_money']}</span></td> + </tr> </if> </foreach> @@ -245,17 +248,22 @@ <td>{$account['game_list'][0]['game_name']}</td> <td>{$account['game_list'][0]['game_type_name']}</td> <notempty name="account['time']"> - <td rowspan="{$account['time_row']}">{$account['time']|default="-----"}</td> + <td rowspan="{$account['time_row']}">{$account['time']|default="-----"}</td> </notempty> -<!-- <td>{$account['game_list'][0]['statement_begin_time']}-{$account['game_list'][0]['statement_end_time']}</td>--> + <td><span class="pay_amount">{$account['game_list'][0]['pay_amount']}</span></td> - <!-- <td>{$account['game_list'][0]['ratio']|showNumPercent}</td>--> - <!-- <td>{$account['game_list'][0]['increment_ratio']|showNumPercent}</td>--> + <td>{$account['game_list'][0]['refund']|default=0}</td> <td>{$account['game_list'][0]['ratio']}%</td> <td>{$account['game_list'][0]['increment_ratio']}%</td> <td><span class="sum_money_span">{$account['game_list'][0]['sum_money']}</span></td> <notempty name="account['time']"> + <td rowspan="{$account['time_row']}">{$account['reward']|default=0}</td> + <td rowspan="{$account['time_row']}">{$account['fine']|default=0}</td> + </notempty> + + <notempty name="account['time']"> + <td rowspan="{$account['time_row']}">{$account['withhold_amount']|default=0}</td> <td rowspan="{$account['time_row']}">{$account['week_amount']}</td> </notempty> @@ -268,6 +276,10 @@ <td>-</td> <td>-</td> <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> + <td>-</td> </notempty> </tr> @@ -277,15 +289,15 @@ <tr> <td>{$game['game_name']}</td> <td>{$game['game_type_name']}</td> -<!-- <td>{$game['statement_begin_time']}-{$game['statement_end_time']}</td>--> + <td><span class="pay_amount">{$game['pay_amount']}</span></td> - <!-- <td>{$game['ratio']|showNumPercent}</td>--> - <!-- <td>{$game['increment_ratio']|showNumPercent}</td>--> + <td>{$game['refund']|default=0}</td> <td>{$game['ratio']}%</td> <td>{$game['increment_ratio']}%</td> <td><span class="sum_money_span">{$game['sum_money']}</span></td> + </tr> </if> </foreach> @@ -305,6 +317,7 @@ <td></td> <td></td> <td></td> + <td></td> <td>{$count.week_money}</td> <td>{$count.sum_money}</td> <td></td> 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 @@ <th ><div class="tooltip">游戏内充值合计<span class="tooltiptext"><span style="margin-left: -10px">游戏现金金额+平台币直充支出+平台币内充支出</span></span></div></th> <th ><div class="tooltip"><span style="color: red">联运通知失败合计</span><span class="tooltiptext"><span style="margin-left: -10px">联运所有通知失败的合计金额</span></span></div></th> - <th ><div class="tooltip">聚合平台数据<span class="tooltiptext"><span style="margin-left: -10px">包含聚合万盟平台数据,因为聚合平台数据是用接口获取并且涉及其他平台数据,所以只能添加总数据,无法判定平台币还是现金充值</span></span></div></th> + <th ><div class="tooltip">聚合万盟数据<span class="tooltiptext"><span style="margin-left: -10px">聚合平台万盟渠道支付成功且通知成功的金额</span></span></div></th> + <th ><div class="tooltip"><span style="color: red">聚合万盟通知失败</span><span class="tooltiptext"><span style="margin-left: -10px">聚合平台万盟渠道通知失败的订单合计金额</span></span></div></th> <th ><div class="tooltip">聚合平台测试订单<span class="tooltiptext"><span style="margin-left: -10px">聚合平台测试订单</span></span></div></th> - <th ><div class="tooltip"><span style="color: red">聚合通知失败合计</span><span class="tooltiptext"><span style="margin-left: -10px">聚合所有通知失败的合计金额</span></span></div></th> - + <th ><div class="tooltip">聚合其他渠道数据<span class="tooltiptext"><span style="margin-left: -10px">聚合平台其他渠道(不含万盟)支付成功通知成功订单合计</span></span></div></th> + <th ><div class="tooltip"><span style="color: red">聚合其他渠道通知失败订单</span><span class="tooltiptext"><span style="margin-left: -10px">聚合平台其他渠道(不含万盟)<br>通知失败的订单合计金额</span></span></div></th> <th >操作</th> </tr> </thead> @@ -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}</a></td> + 'partner_id'=>$_REQUEST['partner_id'], + 'channel_type'=>1, + ])}">{$data.agg_wm_amount}</a></td> + <td ><span style="color:red;"><if condition="$data.agg_wm_failed_amount neq ''">{$data.agg_wm_failed_amount}<else/>0</if></span></td> <td ><span style="color:red;"> <a href="{:U('TestOrder/lists', [ 'timestart'=>$_GET['timestart'], @@ -242,6 +245,15 @@ 'platform_type'=>2, ])}">{$data.test_amount}</a></span> </td> + <td ><a href="{:U('Finance/aggDetail', [ + 'timestart'=>$_GET['timestart'], + 'timeend'=>$_GET['timeend'], + 'sdk_type'=>$_GET['sdk_type'], + 'game_id'=>$data['game_id'], + 'game_name'=>$data['game_name'], + 'channel_type'=>2, + 'partner_id'=>$_REQUEST['partner_id'] + ])}">{$data.agg_amount}</a></td> <td ><span style="color:red;"><if condition="$data.agg_failed_amount neq ''">{$data.agg_failed_amount}<else/>0</if></span></td> <td > <a href="{:U('Finance/gameStatisticsDetail',array( @@ -262,8 +274,10 @@ <td><if condition="$sumInside neq ''">{$sumInside}<else/>0</if></td> <td><if condition="$sumAll neq ''">{$sumAll}<else/>0</if></td> <td><span style="color: red"><if condition="$sumNoticeFail neq ''">{$sumNoticeFail}<else/>0</if></span></td> - <td>{$aggTotal}</td> + <td>{$aggWmTotal}</td> + <td><span style="color: red"><if condition="$aggWmFailTotal neq ''">{$aggWmFailTotal}<else/>0</if></span></td> <td><span style="color: red"><if condition="$testAllAmount neq ''">{$testAllAmount}<else/>0</if></span></td> + <td>{$aggTotal}</td> <td><span style="color: red"><if condition="$aggFailTotal neq ''">{$aggFailTotal}<else/>0</if></span></td> <td> <a href="{:U('Finance/gameStatisticsDetail', @@ -281,7 +295,7 @@ </tbody> </table> - <p style="text-align: center; margin-top: 5px;">联运渠道数据:{$sumAll} 占比:{$allRate} 聚合渠道数据:{$aggTotal} 占比:{$aggRate}</p> + <p style="text-align: center; margin-top: 5px;">联运渠道数据:{$sumAll} 占比:{$allRate} 聚合渠道数据:{$aggTotal + $aggWmTotal} 占比:{$aggRate}</p> </div> </div> <div class="page"> diff --git a/Application/Admin/View/Game/add.html b/Application/Admin/View/Game/add.html index 5ec080c69..1575e142f 100644 --- a/Application/Admin/View/Game/add.html +++ b/Application/Admin/View/Game/add.html @@ -658,10 +658,20 @@ <span class="notice-text">在微信开放平台申请创建的应用签名(fd0e6a444fd988bf23ce8a1818623b58),若无此项可不填写(待定)</span> </td> </tr> + <tr> + <td class="l noticeinfo">客服QQ类型</td> + <td class="r"> + <select name="kefu_qq_type"> + <option value="0">默认跟随系统</option> + <option value="1">没有客服QQ</option> + <option value="2">特殊客服QQ</option> + </select> + </td> + </tr> <tr> <td class="l noticeinfo">客服QQ</td> <td class="r"> - <input type="text" class="txt" name="ccustom_service_qq" value="" placeholder="游戏客服QQ"> + <input type="text" class="txt" name="kefu_qq" value="" placeholder="游戏客服QQ"> <span class="notice-text">在游戏里遇到问题点击联系QQ</span> </td> diff --git a/Application/Admin/View/Game/edit.html b/Application/Admin/View/Game/edit.html index 98396bba9..e36b7e21e 100644 --- a/Application/Admin/View/Game/edit.html +++ b/Application/Admin/View/Game/edit.html @@ -874,14 +874,25 @@ </td> </tr> + <tr> + <td class="l noticeinfo">客服QQ类型</td> + <td class="r"> + <select name="kefu_qq_type"> + <option value="0" <if condition="$data['kefu_qq_type'] eq 0"> selected </if>>默认跟随系统</option> + <option value="1" <if condition="$data['kefu_qq_type'] eq 1"> selected </if>>没有客服QQ</option> + <option value="2" <if condition="$data['kefu_qq_type'] eq 2"> selected </if>>特殊客服QQ</option> + </select> + </td> + </tr> <tr> <td class="l noticeinfo">客服QQ</td> <td class="r"> - <input type="text" class="txt" name="ccustom_service_qq" value="{$data['ccustom_service_qq']}" placeholder="游戏客服QQ"> + <input type="text" class="txt" name="kefu_qq" value="{$data['kefu_qq']}" placeholder="游戏客服QQ"> <span class="notice-text">在游戏里遇到问题点击联系QQ</span> </td> </tr> + </tbody> </table> </div> @@ -975,7 +986,7 @@ <!--推广配置--> - <div id="tab6" class="tab-pane tab6 "> + <!-- <div id="tab6" class="tab-pane tab6 "> <input type="button" id="addpromote" onclick="addPromote()" style="background: #3E96C9;color:white;border:none;outline: none;width:90px;height:30px;border-radius: 3px;" value="添加" /> <div class="data_list data_game_list" id="addpromoteindex" style="margin-top:20px;"> <div class=""> @@ -1056,7 +1067,7 @@ <input type="hidden" name="group_id" id="group_id" value="{$_GET['group_id']}"> <input type="hidden" name="promote_data" id="promote_data" value="[]"> <div id="transfer_promote" class="demo-transfer" style="margin-left: 100px;margin-top: 35px;display:none"></div> - </div> + </div> --> <div class="form-item cf"> <input type="hidden" name='id' value="{$data['id']}" /> diff --git a/Application/Admin/View/GameRatioMould/add.html b/Application/Admin/View/GameRatioMould/add.html index 37f9a2a7d..eb64212e4 100644 --- a/Application/Admin/View/GameRatioMould/add.html +++ b/Application/Admin/View/GameRatioMould/add.html @@ -150,6 +150,8 @@ <select id="turnover_type" name="turnover_type" class="select_gallery"> <option value="1">月流水</option> <option value="2">历史流水</option> + <option value="3">cp月流水</option> + <option value="4">cp历史流水</option> </select> </td> </tr> diff --git a/Application/Admin/View/GameRatioMould/edit.html b/Application/Admin/View/GameRatioMould/edit.html index c16e5d0bb..4937eb11d 100644 --- a/Application/Admin/View/GameRatioMould/edit.html +++ b/Application/Admin/View/GameRatioMould/edit.html @@ -134,6 +134,8 @@ <select id="turnover_type" name="turnover_type" class="select_gallery"> <option value="1" <if condition="$data['turnover_type'] eq 1">selected</if>>月流水</option> <option value="2" <if condition="$data['turnover_type'] eq 2">selected</if>>历史流水</option> + <option value="3" <if condition="$data['turnover_type'] eq 3">selected</if>>cp月流水</option> + <option value="4" <if condition="$data['turnover_type'] eq 4">selected</if>>cp历史流水</option> </select> </td> </tr> diff --git a/Application/Admin/View/Partner/add.html b/Application/Admin/View/Partner/add.html index 27965dc66..65f5adbcb 100644 --- a/Application/Admin/View/Partner/add.html +++ b/Application/Admin/View/Partner/add.html @@ -20,8 +20,8 @@ <div class="tab-wrap"> <div class="cf main-place top_nav_list navtab_list"> <ul class="tabnav1711 fr jstabnav"> - <li data-tab="tab1" class="current"><a href="javascript:void(0);">基本信息</a></li> - <li data-tab="tab2" ><a href="javascript:void(0);">结算信息</a></li> + <li data-tab="tab1" id="tab_tab1" class="current"><a href="javascript:void(0);">基本信息</a></li> + <li data-tab="tab2" id="tab_tab2" ><a href="javascript:void(0);">结算信息</a></li> </ul> <h3 class="page_title">{$meta_title}</h3> </div> @@ -36,7 +36,7 @@ <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>合同合作方名称:</td> <td class="r" > - <input type="text" class="txt " name="partner" value="" placeholder="请输入合作方名称"> + <input type="text" class="txt " id="partner" name="partner" value="" placeholder="请输入合作方名称"> </td> </tr> @@ -135,7 +135,8 @@ <div id="tab2" class="tab-pane tab2 "> <table border="0" cellspacing="0" cellpadding="0"> <tbody> - <tr> + + <!-- <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>合作方式:</td> <td class="r"> <select name="relation[collaborate_way]" id="collaborate_way" class="select_gallery"> @@ -144,7 +145,28 @@ </select> <span class="notice-text"></span> </td> + </tr> --> + + <tr> + <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>甲方公司类型:</td> + <td class="r" style="width: 50px;"> + <select name="part_a_type" id="part_a_type" class="select_gallery"> + <option value="1" selected>上游CP公司</option> + <option value="2">己方公司</option> + </select> + <span class="notice-text"></span> + </td> + <td class="l" style="width: 100px;"><i class="mustmark" >*</i>乙方公司类型:</td> + <td class="r"> + <select name="part_b_type" id="part_b_type" class="select_gallery"> + <option value="1" >上游CP公司</option> + <option value="2" selected>己方公司</option> + </select> + <span class="notice-text"></span> + </td> </tr> + + <!-- <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>己方公司:</td> <td class="r"> @@ -157,6 +179,26 @@ <span class="notice-text"></span> </td> </tr> + --> + <tr> + <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>甲方公司:</td> + <td class="r" style="width: 50px;"> + <select name="part_a" id="part_a" class="select_gallery"> + + </select> + <span class="notice-text"></span> + </td> + <td class="l" style="width: 90px;"><i class="mustmark" >*</i>乙方公司:</td> + <td class="r"> + <select name="part_b" id="part_b" class="select_gallery"> + <?php foreach($selfCompanies as $selfCompany):?> + <option value="<?=$selfCompany['id']?>" <?php if($selfCompany['company_name']=='海南万盟天下科技有限公司'):?>selected<?php endif;?>><?=$selfCompany['company_name']?></option> + <?php endforeach;?> + </select> + <span class="notice-text"></span> + </td> + </tr> + <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>结算周期:</td> <td class="r"> @@ -188,12 +230,12 @@ <tr> <td class="l">是否有打款流程:</td> <td class="r table_radio"> - <span class="form_radio table_btn"> + <span class="form_radio table_btn" style="width: 100px;"> <label> - <input type="radio" value="1" name="relation[is_payment]" checked="checked"> 是 + <input type="radio" value="1" name="relation[is_payment]"> 是 </label> <label> - <input type="radio" value="2" name="relation[is_payment]"> 否 + <input type="radio" value="2" name="relation[is_payment]" checked="checked"> 否 </label> </span> <span class="notice-text">选择否将不能进行线上打款</span> @@ -212,7 +254,7 @@ <tr> <td class="l">结算生效期限:</td> - <td class="r"> + <td class="r" style="width: 640px;"> <input type="text" class="txt time time3" name="validity_start_time" value="" placeholder="生效开始时间"> -<input type="text" class="txt time time4" name="validity_end_time" value="" placeholder="生效结束时间"> <span class="notice-text" style="float: none;">结束时间不选默认永久</span> @@ -417,15 +459,84 @@ <script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script> <script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script> <script type="text/javascript"> + + // 切换select + function selectRemove(id, typeId) { + $(id).children().remove(); + indexNum = $(typeId).children('option:selected').index(); + if (indexNum == 0) { + $(id).append("<option value='1'>" + $("#partner").val() + "</option>"); + } + if (indexNum == 1) { + "<?php foreach($selfCompanies as $selfCompany):?>" + $(id).append( + "<option value=\"<?=$selfCompany['id']?>\" <?php if($selfCompany['company_name']=='海南万盟天下科技有限公司'):?>selected<?php endif;?>><?=$selfCompany['company_name']?></option>" + ); + "<?php endforeach;?>"; + } + } + + $(function() { + if (!$("#partner").val()) { + $("#tab_tab1").click(); + } + + $("#tab_tab2").click(function() { + if (!$("#partner").val()) { + alert('请填写合作方名称'); + $("#tab_tab1").click(); + } + + $("#part_a").children().remove(); + $("#part_a").append("<option value='1'>" + $("#partner").val() + "</option>"); + return false; + }); + + $("#part_a_type").change(function() { + selectRemove("#part_a", "#part_a_type"); + + indexBSelect = 0; + if (indexNum == 0) { + indexBSelect = 1; + } + if (indexNum == 1) { + indexBSelect = 0; + } + + $("#part_b_type").get(0).selectedIndex = indexBSelect; + + selectRemove("#part_b", "#part_b_type"); + + }); + + $("#part_b_type").change(function() { + selectRemove("#part_b", "#part_b_type"); + + indexASelect = 0; + if (indexNum == 0) { + indexASelect = 1; + } + if (indexNum == 1) { + indexASelect = 0; + } + + $("#part_a_type").get(0).selectedIndex = indexASelect; + + selectRemove("#part_a", "#part_a_type"); + }); + + }); + showTab(); $("input[type=radio][name=has_server_fee]").on('change', function (e) { - var v = $(this).val(); + var v = $(this).val(); if(v == 1){ $("#server_fee_input").show(); }else{ $("#server_fee_input").hide(); } - }); + }); + $('.time1').datetimepicker({ format: 'yyyy-mm-dd', language:"zh-CN", diff --git a/Application/Admin/View/Partner/edit.html b/Application/Admin/View/Partner/edit.html index 2e86bc375..9b7736b4c 100644 --- a/Application/Admin/View/Partner/edit.html +++ b/Application/Admin/View/Partner/edit.html @@ -5,6 +5,8 @@ <style> #form .txt_area.download_url {width:400px;} .tabcon1711 .table_radio2 .table_btn {width:215px;} + .move200 {margin-left: -1000px;} + .move150 {margin-left: -150px;} </style> </block> <block name="body"> @@ -20,8 +22,8 @@ <div class="tab-wrap"> <div class="cf main-place top_nav_list navtab_list"> <ul class="tabnav1711 fr jstabnav"> - <li data-tab="tab1" class="current"><a href="javascript:void(0);">基本信息</a></li> - <li data-tab="tab2" ><a href="javascript:void(0);">结算信息</a></li> + <li data-tab="tab1" id="tab_tab1" class="current"><a href="javascript:void(0);">基本信息</a></li> + <li data-tab="tab2" id="tab_tab2"><a href="javascript:void(0);">结算信息</a></li> </ul> <h3 class="page_title">{$meta_title}</h3> </div> @@ -36,7 +38,7 @@ <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>合同合作方名称:</td> <td class="r" > - <input type="text" class="txt " name="partner" value="{$data.partner}" placeholder="请输入合作方名称"> + <input type="text" class="txt " name="partner" id="partner" value="{$data.partner}" placeholder="请输入合作方名称"> </td> </tr> @@ -135,7 +137,7 @@ <div id="tab2" class="tab-pane tab2 "> <table border="0" cellspacing="0" cellpadding="0"> <tbody> - <tr> + <!--<tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>合作方式:</td> <td class="r"> <select name="relation[collaborate_way]" id="collaborate_way" class="select_gallery"> @@ -145,7 +147,27 @@ <span class="notice-text"></span> </td> </tr> + --> <tr> + <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>甲方公司类型:</td> + <td class="l" style="width: 50px;"> + <select name="part_a_type" id="part_a_type" class="select_gallery"> + <option value="1" selected>上游CP公司</option> + <option value="2">己方公司</option> + </select> + <span class="notice-text"></span> + </td> + <td class="l" style="width: 100px;"><i class="mustmark" >*</i>乙方公司类型:</td> + <td class="r"> + <select name="part_b_type" id="part_b_type" class="select_gallery"> + <option value="1" >上游CP公司</option> + <option value="2" selected>己方公司</option> + </select> + <span class="notice-text"></span> + </td> + </tr> + + <!--<tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>己方公司:</td> <td class="r"> <select name="relation[self_company_id]" id="self_company" class="select_gallery"> @@ -156,7 +178,26 @@ </select> <span class="notice-text"></span> </td> + </tr>--> + <tr> + <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>甲方公司:</td> + <td class="l" style="width: 50px;"> + <select name="part_a" id="part_a" class="select_gallery"> + + </select> + <span class="notice-text"></span> + </td> + <td class="l" style="width: 90px;"><i class="mustmark" >*</i>乙方公司:</td> + <td class="r"> + <select name="part_b" id="part_b" class="select_gallery"> + <?php foreach($selfCompanies as $selfCompany):?> + <option value="<?=$selfCompany['id']?>" <?php if($selfCompany['company_name']=='海南万盟天下科技有限公司'):?>selected<?php endif;?>><?=$selfCompany['company_name']?></option> + <?php endforeach;?> + </select> + <span class="notice-text"></span> + </td> </tr> + <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>结算周期:</td> <td class="r"> @@ -188,7 +229,7 @@ <tr> <td class="l">是否有打款流程:</td> <td class="r table_radio"> - <span class="form_radio table_btn"> + <span class="form_radio table_btn" style="width: 100px;"> <label> <input type="radio" value="1" name="relation[is_payment]" <?php if($relation['is_payment'] == 1):?>checked<?php endif;?>> 是 </label> @@ -211,7 +252,7 @@ </tr> <tr> <td class="l">结算生效期限:</td> - <td class="r"> + <td class="r" style="width: 640px;"> <input type="text" class="txt time time3" name="validity_start_time" value="{$data.validity_start_time}" placeholder="生效开始时间"> -<input type="text" class="txt time time4" name="validity_end_time" value="{$data.validity_end_time}" placeholder="生效结束时间"> <span class="notice-text" style="float: none;">结束时间不选默认永久</span> @@ -417,6 +458,73 @@ <script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script> <script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script> <script type="text/javascript"> + // 切换select + function selectRemove(id, typeId) { + $(id).children().remove(); + indexNum = $(typeId).children('option:selected').index(); + if (indexNum == 0) { + $(id).append("<option value='1'>" + $("#partner").val() + "</option>"); + } + if (indexNum == 1) { + "<?php foreach($selfCompanies as $selfCompany):?>" + $(id).append( + "<option value=\"<?=$selfCompany['id']?>\" <?php if($selfCompany['company_name']=='海南万盟天下科技有限公司'):?>selected<?php endif;?>><?=$selfCompany['company_name']?></option>" + ); + "<?php endforeach;?>"; + } + } + $(function() { + if (!$("#partner").val()) { + $("#tab_tab1").click(); + } + + $("#tab_tab2").click(function() { + if (!$("#partner").val()) { + alert('请填写合作方名称'); + $("#tab_tab1").click(); + } + + $("#part_a").children().remove(); + $("#part_a").append("<option value='1'>" + $("#partner").val() + "</option>"); + return false; + }); + + $("#part_a_type").change(function() { + selectRemove("#part_a", "#part_a_type"); + + indexBSelect = 0; + if (indexNum == 0) { + indexBSelect = 1; + } + if (indexNum == 1) { + indexBSelect = 0; + } + + $("#part_b_type").get(0).selectedIndex = indexBSelect; + + selectRemove("#part_b", "#part_b_type"); + + }); + + $("#part_b_type").change(function() { + selectRemove("#part_b", "#part_b_type"); + + indexASelect = 0; + if (indexNum == 0) { + indexASelect = 1; + } + if (indexNum == 1) { + indexASelect = 0; + } + + $("#part_a_type").get(0).selectedIndex = indexASelect; + + selectRemove("#part_a", "#part_a_type"); + }); + + }); + + showTab(); $("input[type=radio][name=has_server_fee]").on('change', function (e) { var v = $(this).val(); diff --git a/Application/Admin/View/PromoteCompany/add.html b/Application/Admin/View/PromoteCompany/add.html index f547c50bd..bdb3d7dcd 100644 --- a/Application/Admin/View/PromoteCompany/add.html +++ b/Application/Admin/View/PromoteCompany/add.html @@ -9,6 +9,8 @@ <style> #form .txt_area.download_url {width:400px;} .tabcon1711 .table_radio2 .table_btn {width:215px;} + .move200 {margin-left: -1000px;} + .move150 {margin-left: -150px;} </style> </block> <block name="body"> @@ -22,6 +24,7 @@ <script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"charset="UTF-8"></script> <script src="__STATIC__/juicer-min.js" type="text/javascript"></script> <script src="__STATIC__/czinputcheck.js?v=07151710" type="text/javascript"></script> + <script type="text/javascript" src="__JS__/uploader.js"></script> <style> .coin-detail{ display: block; @@ -141,9 +144,9 @@ <div class="tab-wrap"> <div class="cf main-place top_nav_list navtab_list"> <ul class="tabnav1711 fr jstabnav"> - <li data-tab="tab1" class="current"><a href="javascript:void(0);">基本信息</a></li> - <li data-tab="tab2" ><a href="javascript:void(0);">结算信息</a></li> - <li data-tab="tab3" ><a href="javascript:void(0);">会长信息</a></li> + <li data-tab="tab1" id="tab_tab1" class="current"><a href="javascript:void(0);">基本信息</a></li> + <li data-tab="tab2" id="tab_tab2" ><a href="javascript:void(0);">结算信息</a></li> + <li data-tab="tab3" id="tab_tab3" ><a href="javascript:void(0);">会长信息</a></li> </ul> <h3 class="page_title">{$meta_title}</h3> <p class="description_text">说明:查看和编辑推广公司的基本信息、结算信息、会长信息等。</p> @@ -159,7 +162,7 @@ <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>推广公司名称:</td> <td class="r" > - <input type="text" class="txt " name="company_name" value="" placeholder="请输入推广公司名称"> + <input type="text" class="txt " id="partner" name="company_name" value="" placeholder="请输入推广公司名称"> </td> </tr> @@ -358,6 +361,71 @@ </td> </tr> + <tr> + <td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>是否定制推广后台:</td> + <td class="r table_radio"> + <span class="form_radio table_btn"> + <label> + <input type="radio" class="inp_radio" value="1" name="is_site_custom" > 是 + </label> + <label> + <input type="radio" class="inp_radio" value="0" name="is_site_custom" checked> 否 + </label> + </span> + <span class="notice-text"></span> + </td> + </tr> + + <tr class="site-custom-item" style="display: none;"> + <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>推广后台域名前缀:</td> + <td class="r" > + <input type="text" class="txt" style="float: none;" name="site_domain_prefix" value="" placeholder="请输入推广后台域名前缀"> + <span class="notice-text" style="float: none;">请确保唯一,只能由小写字母和数字组成,不能超过6个字符。完整地址: <span id="site-url-show" style="color: red; font-weight: bold;" data-domain="<?=C('DOMAIN', null, null)?>">无</span></span> + </td> + </tr> + + <tr class="picbox site-custom-item" style="display: none;"> + <td class="l noticeinfo" ><i class="mustmark" style="margin-left:-7px">*</i>推广后台ICON</td> + <td class="r"> + <span class="table_btn table_upload table_icon" style="float: none;"> + <div class="upload-wrapper"> + <input type="hidden" id="site-icon" name="site_config[icon]" value="" /> + <div class="btns"> + <div id="icon-uploader"> + <div class="webuploader-pick" style="line-height:13px">上传图标</div> + </div> + </div> + <!--用来存放文件信息--> + <div class="uploader-list" style="display: flex;"> + + </div> + </div> + </span> + <span class="notice-text">尺寸为16*16px,png图片</span> + </td> + </tr> + + <tr class="picbox site-custom-item" style="display: none;"> + <td class="l noticeinfo" ><i class="mustmark" style="margin-left:-7px">*</i>推广后台LOGO</td> + <td class="r"> + <span class="table_btn table_upload table_icon" style="float: none;"> + <div class="upload-wrapper"> + <input type="hidden" id="site-logo" name="site_config[logo]" value="" /> + <div class="btns"> + <div id="logo-uploader"> + <div class="webuploader-pick" style="line-height:13px">上传图标</div> + </div> + </div> + <!--用来存放文件信息--> + <div class="uploader-list" style="display: flex;"> + + </div> + </div> + </span> + <span class="notice-text">尺寸为210*60px,透明png图片</span> + </td> + </tr> + <tr> <td class="l noticeinfo">文档管理</td> <td class="r table_radio"> @@ -376,7 +444,7 @@ <div id="tab2" class="tab-pane tab2 "> <table border="0" cellspacing="0" cellpadding="0"> <tbody> - <tr> + <!-- <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>合作方式:</td> <td class="r"> <select name="relation[collaborate_way]" id="collaborate_way" class="select_gallery"> @@ -385,7 +453,27 @@ </select> <span class="notice-text"></span> </td> + </tr> --> + + <tr> + <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>甲方公司类型:</td> + <td class="r" style="width: 50px;"> + <select name="part_a_type" id="part_a_type" class="select_gallery"> + <option value="1" selected>下游推广公司</option> + <option value="2">己方公司</option> + </select> + <span class="notice-text"></span> + </td> + <td class="l" style="width: 100px;"><i class="mustmark" >*</i>乙方公司类型:</td> + <td class="r"> + <select name="part_b_type" id="part_b_type" class="select_gallery" style=""> + <option value="1" >下游推广公司</option> + <option value="2" selected>己方公司</option> + </select> + <span class="notice-text"></span> + </td> </tr> + <!-- <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>己方公司:</td> <td class="r"> @@ -400,6 +488,27 @@ <span class="notice-text"></span> </td> </tr> + --> + + <tr> + <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>甲方公司:</td> + <td class="r" style="width: 50px;"> + <select name="part_a" id="part_a" class="select_gallery"> + + </select> + <span class="notice-text"></span> + </td> + <td class="l" style="width: 90px;"><i class="mustmark" >*</i>乙方公司:</td> + <td class="r"> + <select name="part_b" id="part_b" class="select_gallery" style=""> + <?php foreach($selfCompanies as $selfCompany):?> + <option value="<?=$selfCompany['id']?>" <?php if($selfCompany['company_name']=='福建金菠菜网络科技有限公司'):?>selected<?php endif;?>><?=$selfCompany['company_name']?></option> + <?php endforeach;?> + </select> + <span class="notice-text"></span> + </td> + </tr> + <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>结算周期:</td> <td class="r"> @@ -431,7 +540,7 @@ <tr> <td class="l">是否支付宝打款:</td> <td class="r table_radio"> - <span class="form_radio table_btn"> + <span class="form_radio table_btn" style="width: 100px;"> <label> <input type="radio" value="1" name="relation[is_payment]" checked="checked"> 是 </label> @@ -439,8 +548,9 @@ <input type="radio" value="2" name="relation[is_payment]"> 否 </label> </span> - <span class="notice-text">选择否将不能进行线上打款</span> + <span class="notice-text">选择否将不能进行线上打款</span> </td> + <!-- <td class="l"><span class="notice-text">选择否将不能进行线上打款</span></td> --> </tr> <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>收款方:</td> @@ -455,12 +565,14 @@ <tr> <td class="l">结算生效期限:</td> - <td class="r"> + <td class="r" style="width: 640px;"> <input type="text" class="txt time time3" name="validity_start_time" value="" placeholder="生效开始时间"> - <input type="text" class="txt time time4" name="validity_end_time" value="" placeholder="生效结束时间"> <span class="notice-text" style="float: none;">结束时间不选默认永久</span> </td> + <td> + </td> </tr> <tr> <td class="l">支付宝真实姓名:</td> @@ -715,6 +827,74 @@ <block name="script"> <script type="text/javascript"> + + // 切换select + function selectRemove(id, typeId) { + $(id).children().remove(); + indexNum = $(typeId).children('option:selected').index(); + if (indexNum == 0) { + $(id).append("<option value='1'>" + $("#partner").val() + "</option>"); + } + if (indexNum == 1) { + "<?php foreach($selfCompanies as $selfCompany):?>" + $(id).append( + "<option value=\"<?=$selfCompany['id']?>\" <?php if($selfCompany['company_name']=='海南万盟天下科技有限公司'):?>selected<?php endif;?>><?=$selfCompany['company_name']?></option>" + ); + "<?php endforeach;?>"; + } + } + + $(function() { + if (!$("#partner").val()) { + $("#tab_tab1").click(); + } + + $("#tab_tab2").click(function() { + if (!$("#partner").val()) { + alert('请填写合作方名称'); + $("#tab_tab1").click(); + } + + $("#part_a").children().remove(); + $("#part_a").append("<option value='1'>" + $("#partner").val() + "</option>"); + return false; + }); + + $("#part_a_type").change(function() { + selectRemove("#part_a", "#part_a_type"); + + indexBSelect = 0; + if (indexNum == 0) { + indexBSelect = 1; + } + if (indexNum == 1) { + indexBSelect = 0; + } + + $("#part_b_type").get(0).selectedIndex = indexBSelect; + + selectRemove("#part_b", "#part_b_type"); + + }); + + $("#part_b_type").change(function() { + selectRemove("#part_b", "#part_b_type"); + + indexASelect = 0; + if (indexNum == 0) { + indexASelect = 1; + } + if (indexNum == 1) { + indexASelect = 0; + } + + $("#part_a_type").get(0).selectedIndex = indexASelect; + + selectRemove("#part_a", "#part_a_type"); + }); + + }); + //导航高亮 highlight_subnav("{:U('PromoteCompany/lists')}"); var flag = false; @@ -1202,5 +1382,66 @@ $('#deposit-pay-way').val('') } }) + + var uploadUrl = "{:U('File/uploadPicture', ['session_id'=>session_id(), 'flag'=>true])}" + var iconUploader = new WmUploader({ + selector: '#icon-uploader', + url: uploadUrl, + accept: { + title: '图片', + extensions: 'png', + mimeTypes: 'image/*', + }, + afterSuccess: function(file, response) { + if (response.status == 0) { + return layer.msg(response.info) + } + $('#site-icon').val(response.id) + }, + afterDelete: function(file) { + $('#site-icon').val('') + } + }) + var logoUploader = new WmUploader({ + selector: '#logo-uploader', + url: uploadUrl, + accept: { + title: '图片', + extensions: 'png', + mimeTypes: 'image/*', + }, + afterSuccess: function(file, response) { + if (response.status == 0) { + return layer.msg(response.info) + } + $('#site-logo').val(response.id) + }, + afterDelete: function(file) { + $('#site-logo').val('') + } + }) + + $('input[name=is_site_custom]').on({ + click: function() { + var isSiteCustom = $('input[name=is_site_custom]:checked').val() + if (isSiteCustom == 1) { + $('.site-custom-item').show() + } else { + $('.site-custom-item').hide() + } + } + }) + + $('input[name=site_domain_prefix]').on({ + blur: function() { + var domain = $('#site-url-show').attr('data-domain'); + var prefix = $.trim($(this).val()); + if (domain != '' && prefix != '') { + $('#site-url-show').html('https://tg-' + prefix + domain) + } else { + $('#site-url-show').html('无') + } + } + }) </script> </block> diff --git a/Application/Admin/View/PromoteCompany/edit.html b/Application/Admin/View/PromoteCompany/edit.html index 6069bee57..0355e6ba4 100644 --- a/Application/Admin/View/PromoteCompany/edit.html +++ b/Application/Admin/View/PromoteCompany/edit.html @@ -9,6 +9,8 @@ <style> #form .txt_area.download_url {width:400px;} .tabcon1711 .table_radio2 .table_btn {width:215px;} + .move200 {margin-left: -1000px;} + .move150 {margin-left: -150px;} </style> </block> <block name="body"> @@ -22,6 +24,7 @@ <script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"charset="UTF-8"></script> <script src="__STATIC__/juicer-min.js" type="text/javascript"></script> <script src="__STATIC__/czinputcheck.js?v=1.29" type="text/javascript"></script> + <script type="text/javascript" src="__JS__/uploader.js"></script> <style> .coin-detail{ display: block; @@ -141,9 +144,9 @@ <div class="tab-wrap"> <div class="cf main-place top_nav_list navtab_list"> <ul class="tabnav1711 fr jstabnav"> - <li data-tab="tab1" class="current"><a href="javascript:void(0);">基本信息</a></li> - <li data-tab="tab2" ><a href="javascript:void(0);">结算信息</a></li> - <li data-tab="tab3" ><a href="javascript:void(0);">会长信息</a></li> + <li data-tab="tab1" id="tab_tab1" class="current"><a href="javascript:void(0);">基本信息</a></li> + <li data-tab="tab2" id="tab_tab2" ><a href="javascript:void(0);">结算信息</a></li> + <li data-tab="tab3" id="tab_tab3" ><a href="javascript:void(0);">会长信息</a></li> </ul> <h3 class="page_title">{$meta_title}</h3> <p class="description_text">说明:查看和编辑推广公司的基本信息、结算信息、会长信息等。</p> @@ -159,7 +162,7 @@ <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>推广公司名称:</td> <td class="r" > - <input type="text" class="txt " name="company_name" value="{$data.company_name}" placeholder="请输入推广公司名称"> + <input type="text" class="txt " name="company_name" id="partner" value="{$data.company_name}" placeholder="请输入推广公司名称"> </td> </tr> <tr> @@ -359,6 +362,93 @@ <span class="notice-text"></span> </td> </tr> + + <tr> + <td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>是否定制推广后台:</td> + <td class="r table_radio"> + <span class="form_radio table_btn"> + <label> + <input type="radio" class="inp_radio" value="1" name="is_site_custom" <if condition="$data['is_site_custom'] eq 1">checked</if>> 是 + </label> + <label> + <input type="radio" class="inp_radio" value="0" name="is_site_custom" <if condition="$data['is_site_custom'] eq 0">checked</if>> 否 + </label> + </span> + <span class="notice-text"></span> + </td> + </tr> + + <tr class="site-custom-item" <?php if($data['is_site_custom'] == 0):?>style="display:none"<?php endif;?>> + <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>推广后台域名前缀:</td> + <td class="r" > + <?php + $domain = C('DOMAIN', null, null); + $siteUrl = '无'; + if ($domain && !empty($data['site_domain_prefix'])) { + $siteUrl = 'https://tg-' . $data['site_domain_prefix'] . $domain; + } + ?> + <input type="text" class="txt" style="float: none;" name="site_domain_prefix" value="{$data.site_domain_prefix}" placeholder="请输入推广后台域名前缀"> + <span class="notice-text" style="float: none;">请确保唯一,只能由小写字母和数字组成,不能超过6个字符。完整地址: <span id="site-url-show" style="color: red; font-weight: bold;" data-domain="<?=$domain?>"><?=$siteUrl?></span></span> + </td> + </tr> + + <tr class="picbox site-custom-item" <?php if($data['is_site_custom'] == 0):?>style="display:none"<?php endif;?>> + <td class="l noticeinfo" ><i class="mustmark" style="margin-left:-7px">*</i>推广后台ICON</td> + <td class="r"> + <span class="table_btn table_upload table_icon" style="float: none;"> + <div class="upload-wrapper"> + <input type="hidden" id="site-icon" name="site_config[icon]" value="<?=$siteConfig ? $siteConfig['icon'] : ''?>" /> + <div class="btns"> + <div id="icon-uploader"> + <div class="webuploader-pick" style="line-height:13px">上传图标</div> + </div> + </div> + <!--用来存放文件信息--> + <div class="uploader-list" style="display: flex;"> + <?php if(!empty($siteConfig['icon'])):?> + <div id="<?=$siteConfig['icon']?>" class="item flooring_page_img_box" style="margin-right: 10px;"> + <a href="javascript:;"><img src="<?=get_cover($siteConfig['icon'], 'path')?>" style="width: 100px;height: 100px;cursor: move;"></a> + <h4 class="info" style="text-align: center;"> + <a href="javascript:;" class="file-delete table_click" style="float:none;display:inline-block;" data-ref-tag="#site-icon">删除</a> + </h4> + </div> + <?php endif;?> + </div> + </div> + </span> + <span class="notice-text">尺寸为16*16px,png图片</span> + </td> + </tr> + + <tr class="picbox site-custom-item" <?php if($data['is_site_custom'] == 0):?>style="display:none"<?php endif;?>> + <td class="l noticeinfo" ><i class="mustmark" style="margin-left:-7px">*</i>推广后台LOGO</td> + <td class="r"> + <span class="table_btn table_upload table_icon" style="float: none;"> + <div class="upload-wrapper"> + <input type="hidden" id="site-logo" name="site_config[logo]" value="<?=$siteConfig ? $siteConfig['logo'] : ''?>" /> + <div class="btns"> + <div id="logo-uploader"> + <div class="webuploader-pick" style="line-height:13px">上传图标</div> + </div> + </div> + <!--用来存放文件信息--> + <div class="uploader-list" style="display: flex;"> + <?php if(!empty($siteConfig['logo'])):?> + <div id="<?=$siteConfig['logo']?>" class="item flooring_page_img_box" style="margin-right: 10px;"> + <a href="javascript:;"><img src="<?=get_cover($siteConfig['logo'], 'path')?>" style="width: 100px;height: 100px;cursor: move;"></a> + <h4 class="info" style="text-align: center;"> + <a href="javascript:;" class="file-delete table_click" style="float:none;display:inline-block;" data-ref-tag="#site-logo">删除</a> + </h4> + </div> + <?php endif;?> + </div> + </div> + </span> + <span class="notice-text">尺寸为210*60px,透明png图片</span> + </td> + </tr> + <tr> <td class="l noticeinfo">文档管理</td> <td class="r table_radio"> @@ -380,7 +470,7 @@ <div id="tab2" class="tab-pane tab2 "> <table border="0" cellspacing="0" cellpadding="0"> <tbody> - <tr> + <!--<tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>合作方式:</td> <td class="r"> <select name="relation[collaborate_way]" id="collaborate_way" class="select_gallery"> @@ -389,8 +479,27 @@ </select> <span class="notice-text"></span> </td> - </tr> + </tr>--> + <tr> + <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>甲方公司类型:</td> + <td class="r" style="width: 50px;"> + <select name="part_a_type" id="part_a_type" class="select_gallery"> + <option value="1" selected>下游推广公司</option> + <option value="2">己方公司</option> + </select> + <span class="notice-text"></span> + </td> + <td class="l" style="width: 100px;"><i class="mustmark" >*</i>乙方公司类型:</td> + <td class="r"> + <select name="part_b_type" id="part_b_type" class="select_gallery" > + <option value="1" >下游推广公司</option> + <option value="2" selected>己方公司</option> + </select> + <span class="notice-text"></span> + </td> + </tr> + <!--<tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>己方公司:</td> <td class="r"> <select name="relation[self_company_id]" id="self_company" class="select_gallery"> @@ -401,7 +510,27 @@ </select> <span class="notice-text"></span> </td> + </tr>--> + + <tr> + <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>甲方公司:</td> + <td class="r" style="width: 50px;"> + <select name="part_a" id="part_a" class="select_gallery"> + + </select> + <span class="notice-text"></span> + </td> + <td class="l" style="width: 90px"><i class="mustmark" >*</i>乙方公司:</td> + <td class="r"> + <select name="part_b" id="part_b" class="select_gallery"> + <?php foreach($selfCompanies as $selfCompany):?> + <option value="<?=$selfCompany['id']?>" <?php if($selfCompany['company_name']=='海南万盟天下科技有限公司'):?>selected<?php endif;?>><?=$selfCompany['company_name']?></option> + <?php endforeach;?> + </select> + <span class="notice-text"></span> + </td> </tr> + <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>结算周期:</td> <td class="r"> @@ -433,7 +562,7 @@ <tr> <td class="l">是否支付宝打款:</td> <td class="r table_radio"> - <span class="form_radio table_btn"> + <span class="form_radio table_btn" style="width: 100px;"> <label> <input type="radio" value="1" name="relation[is_payment]" <?php if($relation['is_payment'] == 1):?>checked<?php endif;?>> 是 </label> @@ -456,7 +585,7 @@ </tr> <tr> <td class="l">结算生效期限:</td> - <td class="r"> + <td class="r" style="width: 640px;"> <input type="text" class="txt time time3" name="validity_start_time" value="{$data.validity_start_time}" placeholder="生效开始时间"> - <input type="text" class="txt time time4" name="validity_end_time" value="{$data.validity_end_time}" placeholder="生效结束时间"> <span class="notice-text" style="float: none;">结束时间不选默认永久</span> @@ -674,6 +803,73 @@ <block name="script"> <script type="text/javascript"> + // 切换select + function selectRemove(id, typeId) { + $(id).children().remove(); + indexNum = $(typeId).children('option:selected').index(); + if (indexNum == 0) { + $(id).append("<option value='1'>" + $("#partner").val() + "</option>"); + } + if (indexNum == 1) { + "<?php foreach($selfCompanies as $selfCompany):?>" + $(id).append( + "<option value=\"<?=$selfCompany['id']?>\" <?php if($selfCompany['company_name']=='海南万盟天下科技有限公司'):?>selected<?php endif;?>><?=$selfCompany['company_name']?></option>" + ); + "<?php endforeach;?>"; + } + } + $(function() { + if (!$("#partner").val()) { + $("#tab_tab1").click(); + } + + $("#tab_tab2").click(function() { + if (!$("#partner").val()) { + alert('请填写合作方名称'); + $("#tab_tab1").click(); + } + + $("#part_a").children().remove(); + $("#part_a").append("<option value='1'>" + $("#partner").val() + "</option>"); + return false; + }); + + $("#part_a_type").change(function() { + selectRemove("#part_a", "#part_a_type"); + + indexBSelect = 0; + if (indexNum == 0) { + indexBSelect = 1; + } + if (indexNum == 1) { + indexBSelect = 0; + } + + $("#part_b_type").get(0).selectedIndex = indexBSelect; + + selectRemove("#part_b", "#part_b_type"); + + }); + + $("#part_b_type").change(function() { + selectRemove("#part_b", "#part_b_type"); + + indexASelect = 0; + if (indexNum == 0) { + indexASelect = 1; + } + if (indexNum == 1) { + indexASelect = 0; + } + + $("#part_a_type").get(0).selectedIndex = indexASelect; + + selectRemove("#part_a", "#part_a_type"); + }); + + }); + + //导航高亮 highlight_subnav("{:U('PromoteCompany/lists')}"); $('#submit').click(function(){ @@ -1056,6 +1252,71 @@ if ($('#deposit-pay-type').val() == 3) { $('.need-amount').hide(); } - // $('#deposit-pay-type').change() + + var uploadUrl = "{:U('File/uploadPicture', ['session_id'=>session_id(), 'flag'=>true])}" + var iconUploader = new WmUploader({ + selector: '#icon-uploader', + url: uploadUrl, + accept: { + title: '图片', + extensions: 'png,ico', + mimeTypes: 'image/*', + }, + afterSuccess: function(file, response) { + if (response.status == 0) { + return layer.msg(response.info) + } + $('#site-icon').val(response.id) + }, + afterDelete: function(file) { + $('#site-icon').val('') + } + }) + var logoUploader = new WmUploader({ + selector: '#logo-uploader', + url: uploadUrl, + accept: { + title: '图片', + extensions: 'png', + mimeTypes: 'image/*', + }, + afterSuccess: function(file, response) { + if (response.status == 0) { + return layer.msg(response.info) + } + $('#site-logo').val(response.id) + }, + afterDelete: function(file) { + $('#site-logo').val('') + } + }) + + $('input[name=is_site_custom]').on({ + click: function() { + var isSiteCustom = $('input[name=is_site_custom]:checked').val() + if (isSiteCustom == 1) { + $('.site-custom-item').show() + } else { + $('.site-custom-item').hide() + } + } + }) + $('input[name=site_domain_prefix]').on({ + blur: function() { + var domain = $('#site-url-show').attr('data-domain'); + var prefix = $.trim($(this).val()); + if (domain != '' && prefix != '') { + $('#site-url-show').html('https://tg-' + prefix + domain) + } else { + $('#site-url-show').html('无') + } + } + }) + + $('.uploader-list').children().children('h4').children('.file-delete').on('click', function() { + var tag = $(this).attr('data-ref-tag'); + $(this).parent().parent().remove(); + $(tag).val('') + }); </script> </block> diff --git a/Application/Admin/View/PromoteCompany/export.html b/Application/Admin/View/PromoteCompany/export.html index 929abc274..ab81f8d74 100644 --- a/Application/Admin/View/PromoteCompany/export.html +++ b/Application/Admin/View/PromoteCompany/export.html @@ -51,6 +51,7 @@ <th>现包名</th> <th>聚合包名</th> <th>产品类型</th> + <th>结算时间</th> <th colspan="2">推广分成比例</th> <th colspan="2">CP分成比例</th> @@ -116,18 +117,29 @@ <td rowspan="{$data['list'][0]['list'][0]['row']}"> {$data['list'][0]['list'][0]['game_type_name']|default="--"}</td> - <notempty name="data['list'][0]['list'][0]['turnover_ratio']"> - <td>{$data['list'][0]['list'][0]['turnover_ratio'][0]['name']|default="--"}</td> - <td>{$data['list'][0]['list'][0]['turnover_ratio'][0]['ratio']|showPercent}</td> + <notempty name="data['list'][0]['list'][0]['ratio_data']"> + <td rowspan="{$data['list'][0]['list'][0]['ratio_data'][0]['row']}">{$data['list'][0]['list'][0]['ratio_data'][0]['time']|default="--"}</td> + <else /> + <td>--</td> + </notempty> + + <notempty name="data['list'][0]['list'][0]['ratio_data'][0]['turnover_ratio']"> + <td>{$data['list'][0]['list'][0]['ratio_data'][0]['turnover_ratio'][0]['name']|default="--"}</td> + <td>{$data['list'][0]['list'][0]['ratio_data'][0]['turnover_ratio'][0]['ratio']|showPercent}</td> - <td>{$data['list'][0]['list'][0]['cp_ratio'][0]['name']|default="--"}</td> - <td>{$data['list'][0]['list'][0]['cp_ratio'][0]['ratio']|showPercent}</td> <else /> <td>--</td> <td>--</td> - <td>--</td> - <td>--</td> </notempty> + + <notempty name="data['list'][0]['list'][0]['cp_ratio']"> + <td>{$data['list'][0]['list'][0]['cp_ratio'][0]['name']|default="--"}</td> + <td>{$data['list'][0]['list'][0]['cp_ratio'][0]['ratio']|showPercent}</td> + <else/> + <td>--</td> + <td>--</td> + </notempty> + <else /> <td>--</td> <td>--</td> @@ -137,6 +149,7 @@ <td>--</td> <td>--</td> <td>--</td> + <td>--</td> </notempty> <else /> <td>--</td> @@ -149,6 +162,7 @@ <td>--</td> <td>--</td> <td>--</td> + <td>--</td> </notempty> <td rowspan="{$data.row}">{$data.bank_address|default="--"}</td> @@ -176,24 +190,6 @@ - - - - <if condition="$data['list'][0]['list'][0]['row'] gt 1"> - <foreach name="data['list'][0]['list'][0]['turnover_ratio']" item="game_ratio" key="gamekey"> - <if condition="$gamekey gt 0"> - <tr> - <td>{$game_ratio['name']|default="--"}</td> - <td>{$game_ratio['ratio']|showPercent}</td> - <td>{$data['list'][0]['list'][0]['cp_ratio'][$gamekey]['name']|default="--"}</td> - <td>{$data['list'][0]['list'][0]['cp_ratio'][$gamekey]['ratio']|showPercent}</td> - </tr> - </if> - </foreach> - </if> - - - <!-- 游戏循环 --> <if condition="$data['list'][0]['row'] gt 1"> <foreach name="data['list'][0]['list']" item="p_ratio" key="pkey"> @@ -204,34 +200,55 @@ <td rowspan="{$p_ratio['row']}">{$p_ratio['aggregate_gamename']|default="--"}</td> <td rowspan="{$p_ratio['row']}">{$p_ratio['game_type_name']|default="--"}</td> - <notempty name="p_ratio['turnover_ratio']"> + <notempty name="p_ratio['ratio_data']"> + <td rowspan="{$p_ratio['ratio_data'][0]['row']}">{$p_ratio['ratio_data'][0]['time']|default="--"}</td> + <else /> + <td>--</td> + </notempty> + + <notempty name="p_ratio['ratio_data'][0]['turnover_ratio']"> - <td>{$p_ratio['turnover_ratio'][0]['name']|default="--"}</td> - <td>{$p_ratio['turnover_ratio'][0]['ratio']|showPercent}</td> + <td>{$p_ratio['ratio_data'][0]['turnover_ratio'][0]['name']|default="--"}</td> + <td>{$p_ratio['ratio_data'][0]['turnover_ratio'][0]['ratio']|showPercent}</td> - <td>{$p_ratio['cp_ratio'][0]['name']|default="--"}</td> - <td>{$p_ratio['cp_ratio'][0]['ratio']|showPercent}</td> <else /> <td >-</td> <td>-</td> + </notempty> + + <notempty name="p_ratio['cp_ratio']"> + + <td>{$p_ratio['cp_ratio'][0]['name']|default="--"}</td> + <td>{$p_ratio['cp_ratio'][0]['ratio']|showPercent}</td> + <else /> <td >-</td> <td>-</td> - </notempty> + </notempty> + </tr> + </if> <if condition="$p_ratio['row'] gt 1"> - <foreach name="p_ratio['turnover_ratio']" item="game_ratio" key="gamekey"> - <if condition="$gamekey gt 0"> - <tr> - <td>{$game_ratio['name']|default="--"}</td> - <td>{$game_ratio['ratio']|showPercent}</td> - <td>{$p_ratio['cp_ratio'][$gamekey]['name']|default="--"}</td> - <td>{$p_ratio['cp_ratio'][$gamekey]['ratio']|showPercent}</td> - </tr> - </if> + <php>$count = 1;</php> + <foreach name="p_ratio['ratio_data']" item="ratio" key="rkey"> + <foreach name="ratio['turnover_ratio']" item="game_ratio" key="gamekey"> + <if condition="$gamekey gt 0 or $rkey gt 0"> + <tr> + <if condition="$rkey gt 0"> + <td rowspan="{$ratio['row']}">{$ratio['time']|default="--"}</td> + </if> + <td>{$game_ratio['name']|default="--"}</td> + <td>{$game_ratio['ratio']|showPercent}</td> + + <td>{$p_ratio['cp_ratio'][$count]['name']|default="--"}</td> + <td>{$p_ratio['cp_ratio'][$count]['ratio']|showPercent}</td> + <php>$count++;</php> + </tr> + </if> + </foreach> </foreach> </if> - </if> + </foreach> </if> <!-- 会长循环 --> @@ -250,20 +267,33 @@ <td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['relation_game_name']|default="--"}</td> <td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['aggregate_gamename']|default="--"}</td> <td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['game_type_name']|default="--"}</td> + + <notempty name="promote['list'][0]['ratio_data']"> + <td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['ratio_data'][0]['time']|default="--"}</td> + <else /> + <td>--</td> + </notempty> - <notempty name="promote['list'][0]['turnover_ratio']"> - <td>{$promote['list'][0]['turnover_ratio'][0]['name']|default="--"}</td> - <td>{$promote['list'][0]['turnover_ratio'][0]['ratio']|showPercent}</td> - <td>{$promote['list'][0]['cp_ratio'][0]['name']|default="--"}</td> - <td>{$promote['list'][0]['cp_ratio'][0]['ratio']|showPercent}</td> + <notempty name="promote['list'][0]['ratio_data'][0]['turnover_ratio']"> + <td>{$promote['list'][0]['ratio_data'][0]['turnover_ratio'][0]['name']|default="--"}</td> + <td>{$promote['list'][0]['ratio_data'][0]['turnover_ratio'][0]['ratio']|showPercent}</td> <else /> <td >--</td> <td>--</td> + </notempty> + <notempty name="promote['list'][0]['cp_ratio']"> + <td>{$promote['list'][0]['cp_ratio'][0]['name']|default="--"}</td> + <td>{$promote['list'][0]['cp_ratio'][0]['ratio']|showPercent}</td> + + <else /> <td >--</td> <td>--</td> - </notempty> - <else /> + </notempty> + + + + <else /> <td >--</td> <td>--</td> <td>--</td> @@ -271,24 +301,10 @@ <td>--</td> <td>--</td> <td>--</td> + <td>--</td> </notempty> </tr> - <if condition="$promote['list'][0]['row'] gt 1"> - <foreach name="promote['list'][0]['turnover_ratio']" item="game_ratio" key="gamekey"> - <if condition="$gamekey gt 0"> - <tr> - <td>{$game_ratio['name']|default="--"}</td> - <td>{$game_ratio['ratio']|showPercent}</td> - - <td>{$promote['list'][0]['cp_ratio'][$gamekey]['name']|default="--"}</td> - <td>{$promote['list'][0]['cp_ratio'][$gamekey]['ratio']|showPercent}</td> - - </tr> - </if> - </foreach> - </if> - <foreach name="promote['list']" item="game" key="gkey"> <if condition="$gkey gt 0"> @@ -297,37 +313,56 @@ <td rowspan="{$game['row']}">{$game['relation_game_name']|default="--"}</td> <td rowspan="{$game['row']}">{$game['aggregate_gamename']|default="--"}</td> <td rowspan="{$game['row']}">{$game['game_type_name']|default="--"}</td> - - <notempty name="game['turnover_ratio']"> + + <notempty name="game['ratio_data']"> + <td rowspan="{$game['ratio_data'][0]['row']}">{$game['ratio_data'][0]['time']|default="--"}</td> + <else /> + <td>--</td> + </notempty> + + <notempty name="game['ratio_data'][0]['turnover_ratio']"> - <td>{$game['turnover_ratio'][0]['name']|default="--"}</td> - <td>{$game['turnover_ratio'][0]['ratio']|showPercent}</td> + <td>{$game['ratio_data'][0]['turnover_ratio'][0]['name']|default="--"}</td> + <td>{$game['ratio_data'][0]['turnover_ratio'][0]['ratio']|showPercent}</td> - <td>{$game['cp_ratio'][0]['name']|default="--"}</td> - <td>{$game['cp_ratio'][0]['ratio']|showPercent}</td> <else /> - <td >-</td> <td>-</td> <td>-</td> + </notempty> + + <notempty name="game['cp_ratio']"> + + <td>{$game['cp_ratio'][0]['name']|default="--"}</td> + <td>{$game['cp_ratio'][0]['ratio']|showPercent}</td> + <else /> + <td >-</td> <td>-</td> - </notempty> + </notempty> </tr> + </if> <if condition="$game['row'] gt 1"> - <foreach name="game['turnover_ratio']" item="game_ratio2" key="gamekey2"> - <if condition="$gamekey2 gt 0"> - <tr> - <td>{$game_ratio2['name']|default="--"}</td> - <td>{$game_ratio2['ratio']|showPercent}</td> - - <td>{$game['cp_ratio'][$gamekey2]['name']|default="--"}</td> - <td>{$game['cp_ratio'][$gamekey2]['ratio']|showPercent}</td> - </tr> - </if> + <php>$count = 1;</php> + <foreach name="game['ratio_data']" item="ratio" key="rkey"> + <foreach name="ratio['turnover_ratio']" item="game_ratio2" key="gamekey2"> + <if condition="$gamekey2 gt 0 or $rkey gt 0"> + <tr> + <if condition="$rkey gt 0"> + <td rowspan="{$ratio['row']}">{$ratio['time']|default="--"}</td> + </if> + <td>{$game_ratio2['name']|default="--"}</td> + <td>{$game_ratio2['ratio']|showPercent}</td> + + <td>{$game['cp_ratio'][$count]['name']|default="--"}</td> + <td>{$game['cp_ratio'][$count]['ratio']|showPercent}</td> + <php>$count++;</php> + </tr> + </if> + </foreach> </foreach> </if> - </if> + </foreach> </if> @@ -336,17 +371,9 @@ </volist> - - - - - - - - <tr class="data_summary"> <td style="text-align: center;" colspan="3">汇总:</td> - <td colspan="33"> + <td colspan="34"> 累计推广公司数量:{$count}  会长数量:{$promotecount} </td> </tr> diff --git a/Application/Admin/View/PromoteCompany/lists.html b/Application/Admin/View/PromoteCompany/lists.html index aa7192b37..867a1564b 100644 --- a/Application/Admin/View/PromoteCompany/lists.html +++ b/Application/Admin/View/PromoteCompany/lists.html @@ -41,8 +41,21 @@ display: block; clear:both; } + + .modal{ + background: black; + position:fixed; + left:0; + top:0; + right:0; + bottom:0; + opacity: 0.4; + display: none; + } </style> + <div class="modal" style="display: none;z-index: 9999;">1</div> + <div class="cf main-place top_nav_list navtab_list"> <div class="fr"> <a class="tabchose" href="{:U('lists')}">生效列表</a> @@ -116,6 +129,17 @@ </select> </div> + <div class="input-list input-list-game search_label_rehab"> + <input type="text" id="time-start" name="begintime" class="" value="{$_GET['begintime']}" + placeholder="结算开始时间"/> + - + <div class="input-append date" id="datetimepicker" style="display:inline-block"> + <input type="text" id="time-end" name="endtime" class="" value="{$_GET['endtime']}" + placeholder="结算结束时间"/> + <span class="add-on"><i class="icon-th"></i></span> + </div> + </div> + <div class="input-list"> <a class="sch-btn" href="javascript:;" id="search" url="{:U('PromoteCompany/lists','model='.$model['name'].'&row='.I('row'),false)}">搜索</a> @@ -132,6 +156,7 @@ <div class="tools"> <a class="ajax-post" target-form="ids" url="{:U('PromoteCompany/marketingDirectorShow', ['isShow'=>1])}"><span class="button_icon " style="margin-top: 0;"></span>展示市场总监信息</a> <a class="ajax-post" target-form="ids" url="{:U('PromoteCompany/marketingDirectorShow', ['isShow'=>2])}"><span class="button_icon " style="margin-top: 0;"></span>隐藏市场总监信息</a> + <a class="batch" target-form="ids" url=""><span class="button_icon " style="margin-top: 0;"></span>批量上下架游戏</a> </div> </div> </div> @@ -162,6 +187,7 @@ <th>原包名</th> <th>现包名</th> <th>产品类型</th> + <th>结算时间</th> <th colspan="2">游戏分成比例</th> <th style="width:10%;min-width:150px;">操作</th> </tr> @@ -197,14 +223,21 @@ <td rowspan="{$data['list'][0]['list'][0]['row']}">{$data['list'][0]['list'][0]['relation_game_name']|default="--"}</td> <td rowspan="{$data['list'][0]['list'][0]['row']}">{$data['list'][0]['list'][0]['game_type_name']|default="--"}</td> - <notempty name="data['list'][0]['list'][0]['turnover_ratio']"> - <td>{$data['list'][0]['list'][0]['turnover_ratio'][0]['name']|default="--"}</td> - <td>{$data['list'][0]['list'][0]['turnover_ratio'][0]['ratio']|default="--"}</td> + <notempty name="data['list'][0]['list'][0]['ratio_data']"> + <td rowspan="{$data['list'][0]['list'][0]['ratio_data'][0]['row']}">{$data['list'][0]['list'][0]['ratio_data'][0]['time']|default="--"}</td> + <else /> + <td>--</td> + </notempty> + + <notempty name="data['list'][0]['list'][0]['ratio_data'][0]['turnover_ratio']"> + <td>{$data['list'][0]['list'][0]['ratio_data'][0]['turnover_ratio'][0]['name']|default="--"}</td> + <td>{$data['list'][0]['list'][0]['ratio_data'][0]['turnover_ratio'][0]['ratio']|default="--"}</td> <else /> <td>--</td> <td>--</td> </notempty> <else /> + <td >--</td> <td >--</td> <td>--</td> <td>--</td> @@ -213,6 +246,7 @@ </notempty> <else /> <td>--</td> + <td >--</td> <td>--</td> <td>--</td> <td>--</td> @@ -230,49 +264,55 @@ </td> </tr> - <if condition="$data['list'][0]['list'][0]['row'] gt 1"> - <foreach name="data['list'][0]['list'][0]['turnover_ratio']" item="game_ratio" key="gamekey"> - <if condition="$gamekey gt 0"> - <tr> - <td>{$game_ratio['name']|default="--"}</td> - <td>{$game_ratio['ratio']|showPercent}</td> - </tr> - </if> - </foreach> - </if> - - <!-- 游戏循环 --> <if condition="$data['list'][0]['row'] gt 1"> <foreach name="data['list'][0]['list']" item="p_ratio" key="pkey"> <if condition="$pkey gt 0"> <tr> + <td rowspan="{$p_ratio['row']}">{$p_ratio['original_package_name']|default="--"}</td> <td rowspan="{$p_ratio['row']}">{$p_ratio['relation_game_name']|default="--"}</td> <td rowspan="{$p_ratio['row']}">{$p_ratio['game_type_name']|default="--"}</td> - - <notempty name="p_ratio['turnover_ratio']"> - - <td>{$p_ratio['turnover_ratio'][0]['name']|default="--"}</td> - <td>{$p_ratio['turnover_ratio'][0]['ratio']|default="--"}</td> - <else /> + + <notempty name="p_ratio['ratio_data']"> + <td rowspan="{$p_ratio['ratio_data'][0]['row']}">{$p_ratio['ratio_data'][0]['time']|default="--"}</td> + <else /> + <td>--</td> + </notempty> + + <notempty name="p_ratio['ratio_data'][0]['turnover_ratio']"> + + <td>{$p_ratio['ratio_data'][0]['turnover_ratio'][0]['name']|default="--"}</td> + <td>{$p_ratio['ratio_data'][0]['turnover_ratio'][0]['ratio']|default="--"}</td> + <else /> <td >-</td> <td>-</td> - </notempty> + </notempty> + </tr> + </if> <if condition="$p_ratio['row'] gt 1"> - <foreach name="p_ratio['turnover_ratio']" item="game_ratio" key="gamekey"> - <if condition="$gamekey gt 0"> - <tr> - <td>{$game_ratio['name']|default="--"}</td> - <td>{$game_ratio['ratio']|showPercent}</td> - </tr> - </if> + <foreach name="p_ratio['ratio_data']" item="ratio" key="rkey"> + + <foreach name="ratio['turnover_ratio']" item="game_ratio" key="gamekey"> + + <if condition="$gamekey gt 0 or $rkey gt 0"> + <tr> + + <if condition="$rkey gt 0 and $gamekey eq 0"> + <td rowspan="{$ratio['row']}">{$ratio['time']|default="--"}</td> + </if> + + <td>{$game_ratio['name']|default="--"}</td> + <td>{$game_ratio['ratio']|showPercent}</td> + </tr> + </if> + </foreach> </foreach> </if> - </if> + </foreach> </if> <!-- 会长循环 --> @@ -288,10 +328,16 @@ <td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['original_package_name']|default="--"}</td> <td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['relation_game_name']|default="--"}</td> <td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['game_type_name']|default="--"}</td> + + <notempty name="promote['list'][0]['ratio_data']"> + <td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['ratio_data'][0]['time']|default="--"}</td> + <else /> + <td>--</td> + </notempty> - <notempty name="promote['list'][0]['turnover_ratio']"> - <td>{$promote['list'][0]['turnover_ratio'][0]['name']|default="--"}</td> - <td>{$promote['list'][0]['turnover_ratio'][0]['ratio']|default="--"}</td> + <notempty name="promote['list'][0]['ratio_data'][0]['turnover_ratio'][0]['name']"> + <td>{$promote['list'][0]['ratio_data'][0]['turnover_ratio'][0]['name']|default="--"}</td> + <td>{$promote['list'][0]['ratio_data'][0]['turnover_ratio'][0]['ratio']|default="--"}</td> <else /> <td >--</td> <td>--</td> @@ -302,50 +348,54 @@ <td>--</td> <td>--</td> <td>--</td> + <td>--</td> </notempty> </tr> - - <if condition="$promote['list'][0]['row'] gt 1"> - <foreach name="promote['list'][0]['turnover_ratio']" item="game_ratio" key="gamekey"> - <if condition="$gamekey gt 0"> - <tr> - <td>{$game_ratio['name']|default="--"}</td> - <td>{$game_ratio['ratio']|showPercent}</td> - </tr> - </if> - </foreach> - </if> - - +<!-- {$promote['list'][0]['ratio_data'][0]['turnover_ratio'][1]['name']}--> + <!-- dsfsa --> <foreach name="promote['list']" item="game" key="gkey"> <if condition="$gkey gt 0"> <tr> <td rowspan="{$game['row']}">{$game['original_package_name']|default="--"}</td> <td rowspan="{$game['row']}">{$game['relation_game_name']|default="--"}</td> <td rowspan="{$game['row']}">{$game['game_type_name']|default="--"}</td> + + <notempty name="game['ratio_data']"> + <td rowspan="{$game['ratio_data'][0]['row']}">{$game['ratio_data'][0]['time']|default="--"}</td> + <else /> + <td>--</td> + </notempty> - <notempty name="game['turnover_ratio']"> + <notempty name="game['ratio_data'][0]['turnover_ratio']"> - <td>{$game['turnover_ratio'][0]['name']|default="--"}</td> - <td>{$game['turnover_ratio'][0]['ratio']|default="--"}</td> + <td>{$game['ratio_data'][0]['turnover_ratio'][0]['name']|default="--"}</td> + <td>{$game['ratio_data'][0]['turnover_ratio'][0]['ratio']|default="--"}</td> <else /> <td >-</td> <td>-</td> - </notempty> + </notempty> </tr> - + </if> <if condition="$game['row'] gt 1"> - <foreach name="game['turnover_ratio']" item="game_ratio2" key="gamekey2"> - <if condition="$gamekey2 gt 0"> - <tr> - <td>{$game_ratio2['name']|default="--"}</td> - <td>{$game_ratio2['ratio']|showPercent}</td> - </tr> - </if> + + <foreach name="game['ratio_data']" item="ratio" key="rkey"> + <foreach name="ratio['turnover_ratio']" item="game_ratio2" key="gamekey2"> + + <if condition="$gamekey2 gt 0 or $rkey gt 0"> + <tr> + <if condition="$rkey gt 0 and $gamekey2 eq 0"> + <td rowspan="{$ratio['row']}">{$ratio['time']|default="--"}</td> + </if> + <td>{$game_ratio2['name']|default="--"}</td> + <td>{$game_ratio2['ratio']|showPercent}</td> + </tr> + </if> + </foreach> </foreach> </if> - </if> + + </foreach> </if> @@ -355,7 +405,7 @@ </volist> <tr class="data_summary"> <td style="text-align: center;" colspan="3">汇总:</td> - <td colspan="16"> + <td colspan="17"> 累计推广公司数量:{$count}  会长数量:{$promotecount} </td> </tr> @@ -431,12 +481,63 @@ </div> </form> </div> - + + <div class="batch_page" style="display:none"> + <div class="pro_promot_main" style="z-index: 9999;width:520px; left: 20%; top: 220px;"> + <div class="pro_promot_title"> + <div class="fl pro_promot_title_text"> + <div class="fl pro_promot_title_bigtext"> 批量上下架游戏</div> </div> + <div class="batch_close fr"><img src="__IMG__/icon_close.png" style="margin-right: 10px;"></div> + </div> + <div class="pro_promot_con"> + <div class="pro_promot_select"> + <div class="pro_promot_select_title fl" style="text-align: center; width: 520px; line-height: 40px;"> + <span style="margin-right: 40px;">操作类型:</span> + <select id="batch_type" name="batch_type" class="" style="width: 200px; magin-left: 100px;"> + <option value="1">增加可推广游戏</option> + <option value="2">删除可推广游戏</option> + </select> + </div> + <br/> + <div class="pro_promot_select_title fl" style="text-align: center; width: 520px;"> + <span style="margin-right: 40px;">游戏名称:</span> + <select id="batch_game" name="batch_game" class="" style="width: 200px; magin-left: 100px; line-height: 40px;"> + <volist name="games" id="vo"> + <option value="{$vo['id']}">{$vo['game_name']}</option> + </volist> + </select> + </div> + <p> + <div class="pro_promot_select_title fl" style="text-align: center; width: 520px;"> + <span style="margin-right: 40px;">公司类型:</span> + <select id="batch_company_type" name="batch_company_type" class="" style="width: 200px; magin-left: 100px; line-height: 40px;"> + <option value="0">内团</option> + <option value="1">外团(含分发)</option> + <option value="3">无</option> + </select> + </div> + </div> + <div class="clear"></div> + <div class="clear"></div> + <div class="pro_promot_btn btn_wrap"> + <div class="fl batch_btn_confirm btn">确定</div> + <div class="fr batch_btn_cancel btn">取消</div> + </div> + </div> + </div> + </form> + </div> + </block> <block name="script"> <script src="__STATIC__/layer/layer.js"></script> <script src="__STATIC__/layer/extend/layer.ext.js"></script> + <link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css"> + <php>if(C('COLOR_STYLE')=='blue_color') echo '<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';</php> + <link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css"> + <script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script> + <script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script> <style> .layui-layer-demo .layui-layer-title {background:#F0F5F7;font-weight:bold;} .layui-layer-demo .layui-layer-content {} @@ -446,6 +547,21 @@ .layui-layer-demo .layui-layer-content tr~tr {border-top:1px solid #ccc;} .layui-layer-demo .layui-layer-content td~td {border-left:1px solid #ccc;} .layui-layer-demo .layui-layer-content tr:last-child td {} + +.btn_wrap { + color: #ffffff; + background: #19b1ea; +} +.btn { + width: 32px; + height: 16px; + line-height: 16px; + text-align: center; + border: 1px solid #19b1ea; + color: #19b1ea; + border-radius: 5px; + cursor: pointer; +} </style> <script> @@ -458,6 +574,41 @@ //导航高亮 highlight_subnav("{:U('lists')}"); $(function(){ + + $('#time-start').datetimepicker({ + format: 'yyyy-mm-dd', + language: "zh-CN", + showMeridian:true, + pickDate:true, + minView: 2, + autoclose: true, + pickTime:true, + todayBtn:true, + }).on('change',function(ev){ + var val = new Date($.trim($(this).val())).getTime(); + var end = new Date($.trim($('#time-end').val())).getTime(); + if (val>end) { + layer.msg('开始时间大于结束时间!');$(this).val(''); + } + return false; + }); + + $("#time-end").datetimepicker({ + format:"yyyy-mm-dd", + language: "zh-CN", + showMeridian:true, + minView:2, + autoclose:true, + todayBtn:true, + }).on('change',function(ev){ + var val = new Date($.trim($(this).val())).getTime(); + var start = new Date($.trim($('#time-start').val())).getTime(); + if (val<start) { + layer.msg('开始时间大于结束时间!');$(this).val(''); + } + return false; + }); + //搜索功能 $("#search").click(function(){ var url = $(this).attr('url'); @@ -486,7 +637,7 @@ area: ['40%', '30%'], content: url, success:function(){ - layer.closeAll(); + layer.closeAll(); } }); @@ -577,6 +728,12 @@ } }); }); + + //打开弹窗 + $(".batch").click(function(){ + $(".batch_page").css("display","block"); + $(".modal").show(); + }); //保存修改 $(".pro_promot_btn_confirm").click(function(){ @@ -588,7 +745,49 @@ }); return false; }); + + //保存修改 + $(".batch_btn_confirm").click(function(){ + $.ajax({ + url: "{:U('displayOnShelves')}", + method: 'POST', + dataType: 'json', + data: { + batch_company_type: $("#batch_company_type").val(), + batch_game: $("#batch_game").val(), + batch_type: $("#batch_type").val() + }, + error: function () { + alert("服务器繁忙,稍后再试"); + $(".batch_page").hide(); + $(".modal").hide(); + }, + success: function (data) { + if (!data.msg) { + alert(data.info); + } else { + alert(data.msg); + } + $(".batch_page").hide(); + $(".modal").hide(); + window.location.reload(); + } + }); + + /* var index = layer.load(2); + $("#ajaxForm").ajaxSubmit(function(res){ + layer.msg(res.msg); + layer.close(index); + }); + return false; */ + }); + //关闭弹窗 + $(".batch_close,.batch_btn_cancel").click(function(){ + $(".batch_page").css("display","none"); + $(".modal").hide(); + }); + //关闭弹窗 $(".pro_promot_close").click(function(){ $(".pro_promot").css("display","none"); diff --git a/Application/Admin/View/PromoteCompany/view.html b/Application/Admin/View/PromoteCompany/view.html index d9f9b69dd..64e2764bd 100644 --- a/Application/Admin/View/PromoteCompany/view.html +++ b/Application/Admin/View/PromoteCompany/view.html @@ -374,6 +374,66 @@ <span class="notice-text"></span> </td> </tr> + + <tr> + <td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>是否定制推广后台:</td> + <td class="r table_radio"> + <span class="form_radio table_btn"> + <label> + <input type="radio" disabled class="inp_radio" value="1" name="is_site_custom" <if condition="$data['is_site_custom'] eq 1">checked + </if>> 是 + </label> + <label> + <input type="radio" disabled class="inp_radio" value="0" name="is_site_custom" <if condition="$data['is_site_custom'] eq 0">checked + </if>> 否 + </label> + </span> + <span class="notice-text"></span> + </td> + </tr> + + <?php if(isset($data['is_site_custom']) && $data['is_site_custom'] == 1):?> + <?php + $domain = C('DOMAIN', null, null); + $siteUrl = '无'; + if ($domain && !empty($data['site_domain_prefix'])) { + $siteUrl = 'https://tg-' . $data['site_domain_prefix'] . $domain; + } + ?> + <tr class="site-custom-item" > + <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>推广后台域名前缀:</td> + <td class="r" > + <input type="text" disabled class="txt" style="float: none;" name="site_domain_prefix" value="{$data.site_domain_prefix}" placeholder="请输入推广后台域名前缀"> + <span class="notice-text" style="float: none;">完整地址: <span id="site-url-show" style="color: red; font-weight: bold;" data-domain="<?=$domain?>"><?=$siteUrl?></span></span> + </td> + </tr> + + <tr class="picbox site-custom-item"> + <td class="l noticeinfo" ><i class="mustmark" style="margin-left:-7px">*</i>推广后台ICON</td> + <td class="r"> + <span class="table_btn table_upload table_icon" style="float: none;"> + <div class="upload-wrapper"> + <div class="uploader-list" style="display: flex;"> + <a href="javascript:;"><img src="{$siteConfig.icon}" style="width: 100px;height: 100px;cursor: move;"></a> + </div> + </div> + </span> + </td> + </tr> + + <tr class="picbox site-custom-item"> + <td class="l noticeinfo" ><i class="mustmark" style="margin-left:-7px">*</i>推广后台LOGO</td> + <td class="r"> + <span class="table_btn table_upload table_icon" style="float: none;"> + <div class="upload-wrapper"> + <div class="uploader-list" style="display: flex;"> + <a href="javascript:;"><img src="{$siteConfig.logo}" style="width: 100px;height: 100px;cursor: move;"></a> + </div> + </div> + </span> + </td> + </tr> + <?php endif;?> <tr> <td class="l noticeinfo">文档管理</td> diff --git a/Application/Base/Service/PromoteCompanyService.class.php b/Application/Base/Service/PromoteCompanyService.class.php index 0cae4434e..7aa23dacb 100644 --- a/Application/Base/Service/PromoteCompanyService.class.php +++ b/Application/Base/Service/PromoteCompanyService.class.php @@ -172,6 +172,8 @@ class PromoteCompanyService unset($companyInfo['relation']); unset($companyInfo['promotes']); + $companyInfo['site_config'] = json_encode($companyInfo['site_config']); + $isNewDeposit = false; if($application['company_id'] == 0){ //新增 diff --git a/Application/Base/Service/PromoteService.class.php b/Application/Base/Service/PromoteService.class.php index 0d2cbb3a2..41d7bfbfa 100644 --- a/Application/Base/Service/PromoteService.class.php +++ b/Application/Base/Service/PromoteService.class.php @@ -1256,4 +1256,42 @@ class PromoteService { } return true; } + + public function getPromoteCompanyBySite($url) + { + $domain = C('DOMAIN', null, ''); + if ($domain == '') { + return null; + } + if (strpos($url, $domain) === false) { + return null; + } + $url = str_replace('http://', '', $url); + $url = str_replace('https://', '', $url); + $url = str_replace($domain, '', $url); + $domainPrefix = ''; + if ($url != 'tg') { + $domainPrefix = str_replace('tg-', '', $url); + } + return M('promote_company', 'tab_')->where(['site_domain_prefix' => $domainPrefix])->find(); + } + + public function getSiteConfig($promoteCompany) + { + $siteConfig = $promoteCompany && $promoteCompany['is_site_custom'] == 1 ? json_decode($promoteCompany['site_config'], true) : null; + if (!$siteConfig) { + $siteConfig = []; + $siteConfig['logo'] = check_logo_is_exist(C('CH_LOGO_BACKSTAGE'), 'logo_default.png'); + // $siteConfig['login_logo'] = check_logo_is_exist(C('CH_SET_LOGO'),'logo_default.png'); + $siteConfig['icon'] = get_cover(C('CH_SET_ICO'), 'path'); + $siteConfig['title'] = seo_replace(C('channel_index.seo_title'),'','channel') . '_' . C('CH_SET_TITLE'); + } else { + $siteConfig['logo'] = get_cover($siteConfig['logo'], 'path'); + $siteConfig['icon'] = get_cover($siteConfig['icon'], 'path'); + $siteConfig['title'] = '推广平台_手机游戏推广联盟_手游推广员赚钱平台'; + } + $siteConfig['description'] = '首页 登录 欢迎您回来!'; + $siteConfig['keywords'] = C('channel_index.seo_keyword'); + return $siteConfig; + } } \ No newline at end of file diff --git a/Application/Base/Tool/Request.class.php b/Application/Base/Tool/Request.class.php index cd3f1241f..00c55082d 100644 --- a/Application/Base/Tool/Request.class.php +++ b/Application/Base/Tool/Request.class.php @@ -99,7 +99,7 @@ class Request { public function getHost() { - $host = $this->getScheme() . '://' . $this->serverInfo['SERVER_NAME']; + $host = $this->getScheme() . '://' . $this->serverInfo['HTTP_HOST']; if (in_array($this->serverInfo['SERVER_PORT'], [80, 443])) { return $host; } diff --git a/Application/Common/Common/extend.php b/Application/Common/Common/extend.php index b5401ede7..415a862d5 100644 --- a/Application/Common/Common/extend.php +++ b/Application/Common/Common/extend.php @@ -2010,10 +2010,11 @@ function varify_url($url){ } return $status; } + //获取当前推广员id function get_pid() { - return $_SESSION['onethink_home']['promote_auth']['pid']; + return session('promote_auth.pid'); } // //计算数组个数用于模板 diff --git a/Application/Common/Common/function.php b/Application/Common/Common/function.php index 7e21fa50b..04b978be9 100644 --- a/Application/Common/Common/function.php +++ b/Application/Common/Common/function.php @@ -35,7 +35,8 @@ function is_login() session('user_group_id', null); return 0; } else { - session('user_auth_expire', time() + $expire); + $expiredTime = time() + $expire; + session('user_auth_expire', $expiredTime); } return session('user_auth_sign') == data_auth_sign($user) ? $user['uid'] : 0; } diff --git a/Application/Common/Conf/config.php b/Application/Common/Conf/config.php index 02bc95be5..eb62e4004 100644 --- a/Application/Common/Conf/config.php +++ b/Application/Common/Conf/config.php @@ -90,8 +90,12 @@ $config = array( // session 配置数组 支持type name id path expire domain 等参数 'SESSION_OPTIONS' => array( - 'expire' => 7200 + // 'expire' => 3600 + 'type' => 'Redis', + 'path' => 'tcp://127.0.0.1:6379', + 'expire' => 3600, ), + 'SESSION_REDIS_EXPIRE' => 3600, ); $config = array_merge($config, $env); return array_merge($config, $cache_config); diff --git a/Application/Home/Conf/config.php b/Application/Home/Conf/config.php index 36b9fe1af..c172b22c4 100644 --- a/Application/Home/Conf/config.php +++ b/Application/Home/Conf/config.php @@ -70,6 +70,7 @@ return array( /* SESSION 和 COOKIE 配置 */ 'SESSION_PREFIX' => 'onethink_home', //session前缀 + 'SESSION_COOKIE_PATH' => '/index.php', 'COOKIE_PREFIX' => 'onethink_home_', // Cookie前缀 避免冲突 diff --git a/Application/Home/Controller/BaseController.class.php b/Application/Home/Controller/BaseController.class.php index 2a1215768..5e3561338 100644 --- a/Application/Home/Controller/BaseController.class.php +++ b/Application/Home/Controller/BaseController.class.php @@ -46,10 +46,8 @@ class BaseController extends HomeController define('G_SETTLEMENT_GRADE', 'sub_status,third_status'); } - if ($loginer['company_id']) { - $company = M('promote_company', 'tab_')->where(['id'=>$loginer['company_id']])->find(); - $this->assign('company', $company); - } + $company = $this->getLoginPromoteCompany(); + $this->assign('company', $company); $this->canViewUserRecharge = $this->promoteCan('view-user-recharge'); $this->checkUrlPermission(); @@ -264,15 +262,6 @@ class BaseController extends HomeController return $records; } - public function getLoginPromote() - { - if ($this->loginPromote == null) { - $promoteId = session('promote_auth.pid'); - $this->loginPromote = M('promote', 'tab_')->where(['id' => $promoteId])->find(); - } - return $this->loginPromote; - } - //验证安全密码--视图 public function verifyPasswordView($modelList, $show = true) { diff --git a/Application/Home/Controller/CoinOrderController.class.php b/Application/Home/Controller/CoinOrderController.class.php index f713d0af1..e6e5002a0 100644 --- a/Application/Home/Controller/CoinOrderController.class.php +++ b/Application/Home/Controller/CoinOrderController.class.php @@ -112,7 +112,7 @@ class CoinOrderController extends BaseController $data['pay_type'] = $pay_type; $data['order_number'] = $order_no; $data['promote_id'] = get_pid(); - $data['promote_account'] = $_SESSION['onethink_home']['promote_auth']['account']; + $data['promote_account'] = session('promote_auth.account'); $data['create_time'] = time(); $data['discount'] = "0"; if($pay_type==1){ // 在线转账 @@ -157,7 +157,7 @@ class CoinOrderController extends BaseController recordPromoteLogs('平台币管理','提交充值订单'); $this->ajaxReturn(['status'=>1,'info'=>'充值提交成功','pay_type'=>$pay_type,'trade_no'=>$order_no,'time'=>1000],"JSON"); }else{ - $account = $_SESSION['onethink_home']['promote_auth']['account']; + $account = session('promote_auth.account'); $bank_list = M("bank","tab_")->select(); $this->meta_title = "平台币充值"; $this->assign("account",$account); diff --git a/Application/Home/Controller/HomeController.class.php b/Application/Home/Controller/HomeController.class.php index 31016cf8a..30ed4bc2a 100644 --- a/Application/Home/Controller/HomeController.class.php +++ b/Application/Home/Controller/HomeController.class.php @@ -15,6 +15,9 @@ use Base\Tool\MobileDetect; */ class HomeController extends Controller { + protected $loginPromote = null; + protected $loginPromoteCompany = null; + /* 空操作,用于输出404页面 */ public function _empty() { @@ -26,10 +29,38 @@ class HomeController extends Controller /* 读取站点配置 */ $config = api('Config/lists'); C($config); //添加配置 - //var_dump($config); + if (!C('WEB_SITE_CLOSE')) { $this->error('站点已经关闭,请稍后访问~'); } + + $promoteService = new PromoteService(); + $siteConfig = null; + $promoteCompany = $this->getLoginPromoteCompany(); + if (is_null($promoteCompany)) { + $url = Request::getHost(); + $promoteCompany = $promoteService->getPromoteCompanyBySite($url); + } + $siteConfig = $promoteService->getSiteConfig($promoteCompany); + $this->assign('siteConfig', $siteConfig); + } + + public function getLoginPromote() + { + if ($this->loginPromote == null) { + $promoteId = session('promote_auth.pid'); + $this->loginPromote = M('promote', 'tab_')->where(['id' => $promoteId])->find(); + } + return $this->loginPromote; + } + + public function getLoginPromoteCompany() + { + $loginer = $this->getLoginPromote(); + if ($this->loginPromoteCompany == null && $loginer) { + $this->loginPromoteCompany = M('promote_company', 'tab_')->where(['id'=>$loginer['company_id']])->find(); + } + return $this->loginPromoteCompany; } public function rule() diff --git a/Application/Home/Controller/TestResourceController.class.php b/Application/Home/Controller/TestResourceController.class.php index 85d228a81..d729bbbca 100644 --- a/Application/Home/Controller/TestResourceController.class.php +++ b/Application/Home/Controller/TestResourceController.class.php @@ -421,11 +421,11 @@ class TestResourceController extends BaseController $data['apply_resource']=I('apply_resource')[$i]; $data['apply_remark']=I('apply_remark')[$i]; - $data['apply_name']=$_SESSION['onethink_home']['promote_auth']['account']; - $data['apply_id']=$_SESSION['onethink_home']['promote_auth']['pid']; + $data['apply_name'] = session('promote_auth.account'); + $data['apply_id'] = session('promote_auth.pid'); - $data['promote_id']=$_SESSION['onethink_home']['promote_auth']['pid']; - $data['promote_account']=$_SESSION['onethink_home']['promote_auth']['account']; + $data['promote_id'] = session('promote_auth.pid'); + $data['promote_account'] = session('promote_auth.account'); $data['create_time']=time(); $data['apply_type']=0; @@ -603,8 +603,8 @@ class TestResourceController extends BaseController $data['apply_resource']=I('apply_resource'); $data['apply_remark']=I('apply_remark'); - $data['apply_name']=$_SESSION['onethink_home']['promote_auth']['account']; - $data['apply_id']=$_SESSION['onethink_home']['promote_auth']['pid']; + $data['apply_name'] = session('promote_auth.account'); + $data['apply_id'] = session('promote_auth.pid'); $data['promote_id']=session("promote_auth.pid"); $data['promote_account']=session("promote_auth.account"); diff --git a/Application/Home/Controller/WithdrawController.class.php b/Application/Home/Controller/WithdrawController.class.php index 37aebdb44..9bf7fd033 100644 --- a/Application/Home/Controller/WithdrawController.class.php +++ b/Application/Home/Controller/WithdrawController.class.php @@ -175,7 +175,7 @@ class WithdrawController extends BaseController { $dbres = M("company_statement_pool","tab_")->field("id,verify_status,verify_log")->where("id = {$id}")->find(); $dbres['verify_log'] = json_decode($dbres['verify_log'],true); - $dbres['verify_log'][$op_pre.'_user']=$_SESSION['onethink_home']['promote_auth']['account']; + $dbres['verify_log'][$op_pre.'_user'] = session('promote_auth.account'); $dbres['verify_log'][$op_pre.'_time']=date("Y-m-d H:i:s"); $dbres['verify_log'] = json_encode($dbres['verify_log']); $dbres['verify_status']=$change_status; diff --git a/Application/Home/View/default/Public/bases.html b/Application/Home/View/default/Public/bases.html index da5072530..d2f05ba8c 100644 --- a/Application/Home/View/default/Public/bases.html +++ b/Application/Home/View/default/Public/bases.html @@ -7,13 +7,13 @@ <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <if condition="ACTION_NAME eq index and CONTROLLER_NAME eq Index"> - <title>{:seo_replace(C('channel_index.seo_title'),'','channel')}_{:C('CH_SET_TITLE')}</title> - <meta name="description" content="首页 登录 欢迎您回来!"/> + <title>{$siteConfig['title']}</title> + <meta name="description" content="{$siteConfig['description']}"/> <meta name="robots" content="noarchive"> - <meta property="og:description" content="首页 登录 欢迎您回来!"/> - <meta property="og:title" content="{:seo_replace(C('channel_index.seo_title'),'','channel')}_{:C('CH_SET_TITLE')}"/> - <meta property="og:image" content="{:get_cover(C('CH_SET_ICO'),'path')}"/> - <meta name="keywords" content="{:C('channel_index.seo_keyword')}"> + <meta property="og:description" content="{$siteConfig['description']}"/> + <meta property="og:title" content="{$siteConfig['title']}"/> + <meta property="og:image" content="{$siteConfig['icon']}"/> + <meta name="keywords" content="{$siteConfig['keywords']}"> <elseif condition="ACTION_NAME eq game_list and CONTROLLER_NAME eq Article"/> <title>{:seo_replace(C('channel_game_list.seo_title'),'','channel')}</title> <meta name="keywords" content="{:C('channel_game_list.seo_keyword')}"> @@ -31,7 +31,7 @@ <meta name="keywords" content="{:C('channel_news_detail.seo_keyword')}"> <meta name="description" content="{:C('channel_news_detail.seo_description')}"> </if> - <link href="{:get_cover(C('CH_SET_ICO'),'path')}" type="image/x-icon" rel="shortcut icon"> + <link href="{$siteConfig['icon']}" type="image/x-icon" rel="shortcut icon"> <link href="__CSS__/20170913/common.css" rel="stylesheet"> <script src="__JS__/jquery-1.11.1.min.js"></script> @@ -54,7 +54,7 @@ <else/> <a href="{:U('index/index')}"> <span class="placeholder-graphic placeholder-graphic_logo" style="background:transparent;"> - <img src="{:check_logo_is_exist(C('CH_SET_LOGO'),'logo_default.png')}" alt="logo"> + <img src="{$siteConfig['logo']}" alt="logo"> </span> </a> </if> diff --git a/Application/Home/View/default/Public/promote_base.html b/Application/Home/View/default/Public/promote_base.html index 141be6e01..4e97edf16 100644 --- a/Application/Home/View/default/Public/promote_base.html +++ b/Application/Home/View/default/Public/promote_base.html @@ -8,7 +8,7 @@ <link href="__CSS__/20170831/select2.min.css" rel="stylesheet" type="text/css" /> <!--<link href="__CSS__/20170831/common.css" rel="stylesheet" type="text/css">--> <link href="__CSS__/20180207/common.css" rel="stylesheet" type="text/css"> - <link href="{:get_cover(C('CH_SET_ICO'),'path')}" type="image/x-icon" rel="shortcut icon"> + <link href="{$siteConfig['icon']}" type="image/x-icon" rel="shortcut icon"> <script type="text/javascript" src="__JS__/jquery-1.11.1.min.js"></script> <!--[if lt IE 9]> @@ -33,7 +33,7 @@ <!--左侧导航栏 开始--> <div class="nav_new fl"> <div class="logo_picture"> - <img src="{:check_logo_is_exist(C('CH_LOGO_BACKSTAGE'),'logo_default.png')}" style="height:40px;margin:0px;"> + <img src="{$siteConfig['logo']}" style="height:40px;margin:0px;"> </div> <div class="subNavBox"> <a href="{:U('Promote/index')}" class="subNav <if condition='CONTROLLER_NAME eq Promote and ACTION_NAME eq index '>active</if>"> 后台首页 </a> diff --git a/Application/Sdk/Controller/Ipa365Controller.class.php b/Application/Sdk/Controller/Ipa365Controller.class.php index c317d9cdf..2f37ccdf9 100644 --- a/Application/Sdk/Controller/Ipa365Controller.class.php +++ b/Application/Sdk/Controller/Ipa365Controller.class.php @@ -11,7 +11,7 @@ class Ipa365Controller extends BaseController{ public $userinfo; public function __construct() { - $this->userinfo = $_SESSION['onethink_home']['user_auth']; + $this->userinfo = session('user_auth'); parent::__construct(); } diff --git a/Data/update.sql b/Data/update.sql index 76b9e30db..7a48acc83 100644 --- a/Data/update.sql +++ b/Data/update.sql @@ -2691,6 +2691,7 @@ CREATE TABLE `tab_company_belong_game` ( UPDATE `tab_game_ratio_mould` SET `begin_time` = 1567267200 WHERE `begin_time` = 0 + CREATE TABLE `tab_testing_game_setting` ( `id` int(11) NOT NULL AUTO_INCREMENT, `base_game_id` int(11) NOT NULL COMMENT '游戏ID', @@ -2702,7 +2703,6 @@ CREATE TABLE `tab_testing_game_setting` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试资源游戏设置'; - ALTER TABLE `tab_promote_grade_setting` ADD COLUMN `base_game_id` int(11) not NULL DEFAULT 0 COMMENT '游戏ID' AFTER `name`, ADD COLUMN `month_begin` int(11) not NULL DEFAULT 0 COMMENT '规则截止月份' AFTER `base_game_id`, @@ -2713,4 +2713,15 @@ ADD COLUMN `verify_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '审核状态' ALTER TABLE `tab_testing_user` ADD COLUMN `verify_time` int(11) NOT NULL DEFAULT 0 COMMENT '审核时间' AFTER `verify_status`; ALTER TABLE `tab_testing_resource_batch` -ADD COLUMN `auto_verify` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否需要审核' AFTER `verify_status`; \ No newline at end of file +ADD COLUMN `auto_verify` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否需要审核' AFTER `verify_status`; + +ALTER TABLE `tab_company_game_ratio_log` +ADD COLUMN `company_belong` varchar(60) NOT NULL DEFAULT 0 COMMENT '工会归属:0-内团 1-外团 2-分发联盟 3-无 4-下游聚合' AFTER `verify_log`; + + +ALTER TABLE `tab_promote_company` +ADD COLUMN `is_site_custom` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否定制推广后台' AFTER `is_inside`; +ALTER TABLE `tab_promote_company` +ADD COLUMN `site_domain_prefix` varchar(20) NOT NULL DEFAULT '' COMMENT '推广后台域名前缀' AFTER `is_site_custom`; +ALTER TABLE `tab_promote_company` +ADD COLUMN `site_config` varchar(255) NOT NULL DEFAULT '' COMMENT '推广后台网站配置' AFTER `is_site_custom`; \ No newline at end of file diff --git a/Public/Admin/js/uploader.js b/Public/Admin/js/uploader.js new file mode 100644 index 000000000..5ddc31ffb --- /dev/null +++ b/Public/Admin/js/uploader.js @@ -0,0 +1,129 @@ +function WmUploader(options) { + this.randomNum = function(min, max){ + var range = max - min; + var rand = Math.random(); + var num = min + Math.round(rand * range); + return num; + } + + this.accept = options.accept == undefined ? { + title: '图片', + extensions: 'png,gif,jpg,jpeg,bmp', + mimeTypes: 'image/*', + } : options.accept + + // fileType: img file + this.fileType = options.fileType == undefined ? 'img' : options.fileType + this.uploadKey = options.uniqueCode == undefined ? this.randomNum(10000, 99999) : options.uniqueCode + this.uploadSelector = options.selector + this.uploadUrl = options.url + this.uploadWrapper = $(this.uploadSelector).parents('.upload-wrapper').eq(0); + this.uploadList = this.uploadWrapper.find('.uploader-list'); + this.afterSuccess = options.afterSuccess + this.afterDelete = options.afterDelete + + var that = this + + this.getFileId = function(file) { + return file.id + '-' + that.uploadKey + } + + this.getFileTag = function(file) { + return $('#' + that.getFileId(file)) + } + + this.uploader = WebUploader.create({ + auto: true, + swf: '/Public/static/webuploader/Uploader.swf', + server: that.uploadUrl, + pick: { + id: that.uploadSelector, + multiple: false + }, + accept: that.accept, + resize: false, + disableGlobalDnd: true, + fileNumLimit: 1, + threads: 5, + thumb: true, + compress: false, + prepareNextFile: true, + formData: function(){ return $.extend(true, {}, {}); }, + chunked: false, + duplicate: true + }); + + this.uploader.on('fileQueued', function(file) { + if (that.fileType == 'img') { + var html = ''; + html += '<div id="' + that.getFileId(file) + '" class="item" style="margin-right: 10px;">'; + html += '<a href="javascript:;"><img src="" style="width: 100px;height: 100px;cursor: move;"></a>'; + html += '<h4 class="info">' + file.name + '</h4>'; + html += '<p class="state">等待上传...</p>'; + html += '</div>'; + + that.uploadList.append(html); + that.uploadList.css('margin-top','10px'); + + var imgNode = that.uploadList.children(that.getFileTag(file)).find('img'); + that.uploader.makeThumb(file, function (error, src) { + if (error) { + return; + } + imgNode.attr('src', src); + }, 300, 300); + } else { + that.uploadList.append( + '<div id="' + that.getFileId(file) + '" class="item">' + + '<h4 class="info">' + file.name + '</h4>' + + '<p class="state">等待上传...</p>' + + '</div>' + ); + } + }); + + this.uploader.on('uploadProgress', function(file, percentage) { + var $li = that.getFileTag(file), + $percent = $li.find('.progress .progress-bar'); + // 避免重复创建 + if ( !$percent.length ) { + $percent = $('<div class="progress progress-striped active">' + + '<div class="progress-bar" role="progressbar" style="width: 0%">' + + '</div>' + + '</div>').appendTo( $li ).find('.progress-bar'); + } + $li.find('p.state').text('上传中'); + $percent.css('width', percentage * 100 + '%'); + $percent.text((percentage * 100).toFixed(0) + '%'); + }); + + this.uploader.on('uploadSuccess', function(file, response) { + var fileTag = that.getFileTag(file) + fileTag.find('p.state').text('已上传').fadeOut(800); + fileTag.find('h4.info').append('<a href="javascript:;" class="file-delete table_click" style="float:none;display:inline-block;margin-left:10px;">删除</a>'); + fileTag.find('.file-delete').on('click', function() { + $('#file_url').val(''); + that.uploader.removeFile(file.id); + fileTag.remove(); + if (that.afterDelete != undefined) { + that.afterDelete(file) + } + return false; + }); + if(!response.chunk) { + var url = response.path + '/' + response.name; + $('#file_url').val(url); + } + if (that.afterSuccess != undefined) { + that.afterSuccess(file, response) + } + }); + + this.uploader.on('uploadError', function(file) { + that.getFileTag(file).find('p.state').text('上传出错'); + }); + + this.uploader.on('uploadComplete', function(file) { + that.getFileTag(file).find('.progress').fadeOut(); + }); +} \ No newline at end of file diff --git a/ThinkPHP/Common/functions.php b/ThinkPHP/Common/functions.php index c0ec3d771..2b1bc4342 100644 --- a/ThinkPHP/Common/functions.php +++ b/ThinkPHP/Common/functions.php @@ -1243,9 +1243,12 @@ function session($name='',$value='') { if(isset($name['name'])) session_name($name['name']); if(isset($name['path'])) session_save_path($name['path']); if(isset($name['domain'])) ini_set('session.cookie_domain', $name['domain']); + if (C('SESSION_COOKIE_PATH')) { + ini_set('session.cookie_path', C('SESSION_COOKIE_PATH')); + } if(isset($name['expire'])) { ini_set('session.gc_maxlifetime', $name['expire']); - ini_set('session.cookie_lifetime', $name['expire']); + ini_set('session.cookie_lifetime', 99999999); } if(isset($name['use_trans_sid'])) ini_set('session.use_trans_sid', $name['use_trans_sid']?1:0); if(isset($name['use_cookies'])) ini_set('session.use_cookies', $name['use_cookies']?1:0); diff --git a/ThinkPHP/Library/Think/Session/Driver/Redis.class.php b/ThinkPHP/Library/Think/Session/Driver/Redis.class.php new file mode 100644 index 000000000..e50e21a0f --- /dev/null +++ b/ThinkPHP/Library/Think/Session/Driver/Redis.class.php @@ -0,0 +1,120 @@ +<?php + +namespace Think\Session\Driver; + +use think\Exception; + +class Redis implements \SessionHandlerInterface +{ + /** @var \Redis */ + protected $handler = null; + protected $config = [ + 'host' => '127.0.0.1', + 'port' => 6379, + 'password' => null, + 'select' => 1, + 'expire' => 3600, + 'timeout' => 0, + 'persistent' => true, + 'session_name' => 'session_', + ]; + + public function __construct($config = []) + { + $this->config['host'] = C("SESSION_REDIS_HOST") ? C("SESSION_REDIS_HOST") : $this->config['host']; + $this->config['port'] = C("SESSION_REDIS_POST") ? C("SESSION_REDIS_POST") : $this->config['port']; + $this->config['password'] = C("SESSION_REDIS_AUTH") ? C("SESSION_REDIS_AUTH") : $this->config['password']; + $this->config['select'] = C("SESSION_REDIS_SELECT") ? C("SESSION_REDIS_SELECT") : $this->config['select']; + $this->config['expire'] = C("SESSION_REDIS_EXPIRE") ? C("SESSION_REDIS_EXPIRE") : $this->config['expire']; + $this->config['session_name'] = C('SESSION_PREFIX') ? C('SESSION_PREFIX') : $this->config['session_name']; + $this->config['timeout'] = C('SESSION_CACHE_TIMEOUT') ? C('SESSION_CACHE_TIMEOUT') : $this->config['timeout']; + } + + /** + * 打开Session + * @access public + * @param string $savePath + * @param mixed $sessName + * @return bool + * @throws Exception + */ + public function open($savePath, $sessName) + { + // 检测php环境 + if (!extension_loaded('redis')) { + throw new Exception('not support:redis'); + } + $this->handler = new \Redis; + // 建立连接 + $func = $this->config['persistent'] ? 'pconnect' : 'connect'; + $this->handler->$func($this->config['host'], $this->config['port'], $this->config['timeout']); + if ('' != $this->config['password']) { + $this->handler->auth($this->config['password']); + } + if (0 != $this->config['select']) { + $this->handler->select($this->config['select']); + } + return true; + } + + /** + * 关闭Session + * @access public + */ + public function close() + { + $this->gc(ini_get('session.gc_maxlifetime')); + $this->handler->close(); + $this->handler = null; + return true; + } + + /** + * 读取Session + * @access public + * @param string $sessID + * @return string + */ + public function read($sessID) + { + return (string)$this->handler->get($this->config['session_name'] . $sessID); + } + + /** + * 写入Session + * @access public + * @param string $sessID + * @param String $sessData + * @return bool + */ + public function write($sessID, $sessData) + { + if ($this->config['expire'] > 0) { + return $this->handler->setex($this->config['session_name'] . $sessID, $this->config['expire'], $sessData); + } else { + return $this->handler->set($this->config['session_name'] . $sessID, $sessData); + } + } + + /** + * 删除Session + * @access public + * @param string $sessID + * @return bool + */ + public function destroy($sessID) + { + return $this->handler->delete($this->config['session_name'] . $sessID) > 0; + } + + /** + * Session 垃圾回收 + * @access public + * @param string $sessMaxLifeTime + * @return bool + */ + public function gc($sessMaxLifeTime) + { + return true; + } +} \ No newline at end of file