diff --git a/Application/Payment/Controller/AjaxController.class.php b/Application/Payment/Controller/AjaxController.class.php new file mode 100644 index 000000000..6f4bbfc6c --- /dev/null +++ b/Application/Payment/Controller/AjaxController.class.php @@ -0,0 +1,601 @@ +AjaxReturn($result); + } + + /** + * 获取区服列表 + * @param $game_id + */ + public function getServer($game_id=""){ + $map = []; + if (!empty($game_id)) { + $map['game_id'] = $game_id; + } + $data = M('server','tab_')->where($map)->select(); + $this->AjaxReturn($data); + } + + /** + *获取充值游戏区服 + * @param game_id + */ + public function getSpendServer($game_id="",$type=1, $game_type='', $game_name=''){ + if($type==2){ + $game = M('Game','tab_')->field('id')->where(['game_name'=>$game_id])->find(); + $game_id = $game['id']; + } + $map['game_id'] = $game_id; + $map['server_name'] = array('neq',''); + $data = M('Spend','tab_')->field('server_name')->where($map)->group('server_name')->select(); + $this->AjaxReturn($data); + } + + /** + * 获取用户注册区服 + */ + + public function getUserServer($game_id="",$type=1){ + if($type==2){ + $game = M('Game','tab_')->field('id')->where(['game_name'=>$game_id])->find(); + $game_id = $game['id']; + } + $map['game_id'] = $game_id; + $map['server_name'] = array('neq',''); + $data = M('UserPlayInfo','tab_')->field('server_name')->where($map)->group('server_name')->select(); + $this->AjaxReturn($data); + } + + public function getGmeServer($game_name="", $sdk_version="") + { + $game_map = []; + if ($game_name) { + $game_map['relation_game_name'] = $game_name; + }else { + $this->AjaxReturn([]); + } + if ($sdk_version) { + $map['server_version'] = $game_map['sdk_version'] = $sdk_version; + }else { +// $this->AjaxReturn([]); + } + $game = M("Game", 'tab_')->where($game_map)->getField('id', true); + + // 获取版本信息 + $map = []; + if ($game) { + $map['game_id'] = ['in', $game]; + } else { + $map['game_id'] = ['in', [-1]]; + } + $data = M('Server', 'tab_')->field('id, server_name, server_id')->where($map)->group('server_name')->select(); + $this->AjaxReturn($data); + } + + public function getGameVersion($game_name="") + { + if ($game_name) { + $map['relation_game_name'] = $game_name; + }else { + $this->AjaxReturn([]); + } + $data = M('Game','tab_')->field('sdk_version')->where($map)->select(); + $this->AjaxReturn($data); + } + + /** + * 获取游戏折扣 + * @param $game_id + */ + public function getGameDiscount($game_id){ + $data = M('Game','tab_')->find($game_id); + $res['discount'] = $data['discount']; + $this->AjaxReturn($res); + } + + public function getUserPlayGameName($user_id=0){ + $map['user_account'] = $user_id; + $data = M("UserPlay","tab_")->field("game_id,game_name,bind_balance")->where($map)->group('user_id,game_id')->select(); + $this->AjaxReturn($data); + } + + /** + *修改游戏字段 + * @param int game_id + * @param string $fields 要修改的字段名称 + * @param string $value 要修改的字段的值 + * @author 小纯洁 + */ + public function setGameDataField($game_id=0,$fields='',$value=''){ + $map['id'] = $game_id; + $result = M('Game','tab_')->where($map)->setField($fields,$value); + if($result !== false){ + if($fields != "game_status"){ + $game = M('Game','tab_')->where($map)->find(); + $map1['relation_game_name'] = $game['relation_game_name']; + M('Game','tab_')->where($map1)->setField($fields,$value); + } + $data = array('status' =>1 ,'data'=>$result ); + $this->AjaxReturn($data); + }else{ + $data = array('status' =>0 ,'data'=>$result ); + $this->AjaxReturn($data); + } + } + + /** + *获取推广员申请通过的游戏 + */ + public function getPromoteApplyGame($promote_id = 0){ + if($promote_id == 0){ + $return_msg = array('status'=>0,'info'=>'请选择推广员'); + $this->AjaxReturn($return_msg); + } + $fields = "tab_game.id,tab_game.game_name,discount,tab_apply.promote_id,tab_apply.promote_account"; + $data = D('Apply')->getPromoteGame($promote_id,$fields); + if(empty($data)){ + $return_msg = array('status'=>0,'info'=>'该推广员没有已审核的游戏'); + $this->AjaxReturn($return_msg); + } else{ + $return_msg = array('status'=>1,'info'=>'成功','data'=>$data); + $this->AjaxReturn($return_msg); + } + } + + public function getPromotersByLevel() + { + $level = I('level'); + if (!$level) { + return $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>[]]); + } + $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>(new PromoteModel)->getPromotersByLevel($level)]); + } + /** + * 根据公司id获取会长 + */ + public function getPromotersByCompanyid($company_id = -1) + { + $company_id = I('company_id'); + $data = M("Promote","tab_")->field("id,account,nickname,company_id"); + if($company_id == -1){ + $data = $data->where("level = '1'")->select(); + }else{ + $data = $data->where("company_id = '{$company_id}' and level = '1'")->select(); + } + foreach ($data as &$item) { + $item['nickname'] = $item['account'] . ($item['nickname'] ? "({$item['nickname']})" : ""); + } + if($company_id <= 0){ + array_unshift($data,["id"=>0,"nickname"=>"官方渠道","account"=>"官方渠道","company_id"=>0]); + + } + $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>$data]); + } + + public function getPromotersByLevelOther() + { + $level = I('level'); + if (!$level) { + return $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>[]]); + } + $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>(new PromoteModel)->getPromotersByLevelOther($level)]); + } + + public function getGameList($type=0, $sdk_type=0) + { + $game = M("game","tab_"); + + if(MODULE_NAME == 'Admin') { + $map['game_status'] = array('in','0,1'); + } else { + $map['game_status'] = 1; + } + + if(!empty($type)){ + /*$map['developers'] = $type == 1? array('EQ',0):array('GT',0);*/ + /* $map['game_status'] = $type == 1? 1:array('in','0,1'); */ + switch($type) { + case 1: + $map['developers'] = array('EQ',0); + break; + case 2: + $map['developers'] = array('EGT',0); + break; + default: + $map['developers'] = array('GT',0); + } + }else{ + $map['apply_status'] = 1; + $map['online_status'] = 1; + + } + if (empty($sdk_type)) { + $lists = $game->field('id,game_name,sdk_version,relation_game_name,icon,relation_game_id,game_status,display_site,dow_num')->where($map)->group('relation_game_name')->order("id asc")->select(); + } else { + $map['sdk_version'] = $sdk_type; + $lists = $game->field('id,game_name,sdk_version,relation_game_name,icon,relation_game_id,game_status,display_site,dow_num')->where($map)->order("id asc")->select(); + } + $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>$lists]); + } + + public function getDownstreamData() { + + $withdraw_number = $_REQUEST['withdraw_number']; + if ($withdraw_number) { + $map['widthdraw_number'] = $withdraw_number; + } + if ($_REQUEST['company_id']) { + $map['company_id'] = $_REQUEST['company_id']; + } + + $data = M("withdraw","tab_") + ->field("widthdraw_number,promote_account,tab_promote_company.id as company_id,company_name,tab_withdraw.settlement_type,mobile_phone,real_name,tab_promote.bank_card,account_openin,tab_promote.address,game_ratio,bank_account") + ->join("left join tab_promote on tab_withdraw.promote_id=tab_promote.id") + ->join("left join tab_promote_company on tab_promote.company_id=tab_promote_company.id") + ->where($map) + ->find(); + + if ($data['settlement_type']==1) { + $data['settlement_type'] = '周结订单'; + } else if($data['settlement_type']==2){ + $data['settlement_type'] = '月结订单'; + } else { + $data['settlement_type'] = '补点订单'; + } + $data['game_ratio'] = json_decode($data['game_ratio'],true); + + $getStatementData =M('statement','tab_')->where(['ext_field'=>$withdraw_number])->find(); + + $statementData = json_decode($getStatementData['statement_info'],true); + + + $reward = 0; + $forfeit = 0; + + + if ($statementData) { + $data['sum'] = $getStatementData['statement_money']; + $data['pay_amount'] = $getStatementData['pay_amount']; + + $data['reward'] = 0; + $data['forfeit'] = 0; + + $handleStatementData = []; + foreach ($statementData as $key=>$sv) { + if ($sv['game_id']) { + + $nowVal['selle_ratio'] = $sv['second_ratio']; + $nowVal['sum_amount'] = $sv['pay_amount']; + $nowVal['begin_time'] = $sv['statement_begin_time']; + $nowVal['end_time'] = $sv['statement_end_time']; + $nowVal['game_name'] = $sv['game_name']; + $nowVal['fax_ratio'] = $sv['fax_ratio']; + $nowVal['sum'] = $sv['sum_money']; + + $handleStatementData[$sv['game_id']][] = $nowVal; + } else { + if ($sv['statement_type'] == 2) { + $data['reward'] += $sv['sum_money']; + } else if ($sv['statement_type'] == 1) { + $data['forfeit'] += $sv['sum_money']; + } + } + } + +// dump($handleStatementData);die(); + $first_party_info = json_decode($getStatementData['first_party_info'],true); + $second_party_info = json_decode($getStatementData['second_party_info'],true); + $data['game_ratio'] = $handleStatementData; + $data['company_name'] = $second_party_info['partner']; + $data['mobile_phone'] = $second_party_info['link_phone']; + $data['bank_card'] = $second_party_info['bank_account']; + $data['account_openin'] = $second_party_info['opening_bank']; + $data['settlement_type'] = $second_party_info['settlement_type']; + $data['address'] = $second_party_info['address']; + $data['real_name'] = $second_party_info['link_man']; + $data['bank_account_name'] = $second_party_info['bank_account_name']; + $data['settlement_type_value'] = $getStatementData['settlement_type']; + $data['settlement_type_value'] = $getStatementData['settlement_type']; + + $data['invoice_item'] = $second_party_info['invoice_item']; + $data['invoice_type'] = $second_party_info['invoice_type']; + + $data['jfCompany'] = $first_party_info['jfCompany']; + $data['jfPerson'] = $first_party_info['jfPerson']; + $data['jfTel'] = $first_party_info['jfTel']; + + if ($getStatementData['settlement_type']=='周结订单') { + $data['settlement_type_value'] = 1; + } else if ($getStatementData['settlement_type']=='月结订单') { + $data['settlement_type_value'] = 2; + } else { + $data['settlement_type_value'] = 3; + } + +// dump($statementData);die(); + } else { + + $data['address'] = json_decode($data['address'],1); +// dd($data['address']); + $address = ''; + if (is_array($data['address'])) { + foreach($data['address'] as $key => $value) { + $address = $address.' '.$value; + } + } + $data['address'] = $address; + + $gameStr = []; + $game_ratio = []; + + if (is_array($data['game_ratio'])) { + foreach ($data['game_ratio'] as $key => &$value) { + + foreach ($value as $k => &$v) { + + $v['game_name'] = substr(get_gamename($key),0,strpos(get_gamename($key), '(')); + + if (!in_array($v['game_name'],$gameStr)) { + array_push($gameStr,$v['game_name']); + } else { +// var_dump($key); + if (!$game_ratio[$v['game_name']]) { + $game_ratio[$v['game_name']] = $v; + } + else { + $game_ratio[$v['game_name']]['sum_amount'] += $v['sum_amount']; + } + unset($value[$k]); + } + } + + if (!$value) { + unset($data['game_ratio'][$key]); + } + + } + +// dump($data['game_ratio']);die(); + + foreach ($data['game_ratio'] as $key => &$value) { + + foreach ($value as $k => &$v) { + + $startTime = strtotime($v['begin_time']); + $endTime = strtotime($v['end_time']); + + $rewardData = M('reward_record','tab_') + ->field("sum(tab_reward_record.money) as money,reward_type") + ->join("left join (select * from tab_game group by relation_game_id)tab_game on tab_reward_record.relation_game_id=tab_game.relation_game_id") + ->where(['company_type'=>2,'relation_game_name'=>['like',"%{$v['game_name']}%"],'company_id'=>$data['company_id'],'reward_time'=>['between',[$startTime,$endTime]]]) + ->group('reward_type') + ->select(); + + foreach ($rewardData as $key => $valReward) { + + if ($valReward['reward_type']==1) { + + $reward = $reward + $valReward['money']; + + } else if ($valReward['reward_type']==2) { + + $forfeit = $forfeit + $valReward['money']; + + } + + } + +// dump($reward);die(); + + if ($game_ratio[$v['game_name']]) { + + $v['sum_amount'] = number_format($v['sum_amount'] + $game_ratio[$v['game_name']]['sum_amount'],2,'.',''); + + } + + } + + } + + } + + $data['reward'] = $reward; + $data['forfeit'] = $forfeit; + + $yfData = M('tool','tab_')->where(['name'=>'company_info'])->find(); + $yfData = json_decode($yfData['config'],true); + + $data['yfpartner'] = $yfData['partner']; + $data['yflink_man'] = $yfData['link_man']; + $data['yflink_phone'] = $yfData['link_phone']; + + } + + $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>$data]); + + } + + function getPromoteCompanyList() { + + $map = []; + if ($_REQUEST['withdraw_number']) { + $map['widthdraw_number'] = $_REQUEST['withdraw_number']; + } +// var_dump($map);die(); + if ($_REQUEST['company_id']) { + $map['_string'] = "tab_promote.company_id={$_REQUEST['company_id']} and ext_field is null"; + } + +// $map['widthdraw_number'] = ['neq','']; + + $data = M("withdraw","tab_") + ->field("widthdraw_number,promote_account,tab_promote_company.id as company_id,tab_promote_company.company_name,tab_withdraw.settlement_type,mobile_phone,real_name,tab_promote.bank_card,account_openin,tab_promote.address,game_ratio,bank_account") + ->join("left join tab_promote on tab_withdraw.promote_id=tab_promote.id") + ->join("left join tab_promote_company on tab_promote.company_id=tab_promote_company.id") + ->join("left join tab_statement as statement on tab_withdraw.widthdraw_number = statement.ext_field") + ->where($map) +// ->where("widthdraw_number is not NULL") + ->select(); + + + $this->ajaxReturn(['data'=>$data]); +// return $data; + + } + + public function addfile() + { + $this->meta_title = '文档添加'; + $template = I('t'); + $template = $template ?: 'Partner/addfile'; + return $this->display($template); + } + + //处理上传图片 + public function saveFile() + { + $path = '/Uploads/'; + $upload = new \Think\Upload();// 实例化上传类 + $upload->maxSize = 0 ;// 设置附件上传大小 + $upload->exts = '';// 设置附件上传类型 + $upload->rootPath = '.'.$path; // 设置附件上传根目录 + $upload->savePath = ''; // 设置附件上传(子)目录 + // 上传文件 + $info = $upload->upload(); + // dump($info); + if(!$info) {// 上传错误提示错误信息 + $msg = $upload->getError(); + $array= array('status' => 0, 'info' => $msg); + }else{// 上传成功 + $array=array( + "info"=>"上传成功", + "status"=>1, + "file_path"=>$path.$info['file']['savepath'].$info['file']['savename'], + "file_name"=>$_POST['file_name'], + "file_type"=>$_FILES['file']['type'], + "file_size"=>$_FILES['file']['size'], + "upload_time"=>date("Y-m-d H:i:s",time()) + ); + } + $this->ajaxReturn($array); + } + //删除图片 + public function delFile() + { + $id = $_REQUEST['id']; + $index = $_REQUEST['index'] ?: false; + $file_path = $_REQUEST['file_path'] ?: false; + if($id == 0){ + //未存入数据库,不用管 + unlink("./".$file_path); + $this->ajaxReturn(array( + 'status' => 1, + 'info' => "删除成功" + )); + } + # code... + } + + /** + *获取上下游公司 + */ + public function getCompanyList() + { + $company_type = I('company_type');//公司类型 + if ($company_type ==1) {//上游公司 + $data = M('partner','tab_')->field('id, partner as name,1 as type')->where(['status' => 1])->select(); + } elseif ($company_type ==2) {//下游公司 + $data = M('promote_company','tab_')->field('id, company_name as name,2 as type')->where(['status' => 1])->select(); + } else { + $partner = M('partner','tab_')->field('id, partner as name,1 as type')->where(['status' => 1])->select(); + $promote_company = M('promote_company','tab_')->field('id, company_name as name, 2 as type')->where(['status' => 1])->select(); + $data = array_merge($partner, $promote_company); + } + $this->ajaxReturn($data); + } + + /** + * 操作日志 + * option: + * array( + * op_type=>操作类型 1:编辑 2:删除 3:下载, + * op_name=>操作说明 例如:编辑,删除,锁定等, + * url=>需要跳转的url 添加去列表加唯一id,编辑直接去编辑页面,下载可以重新下载(新开页面), + * key=>关键词:用户的账号,游戏的名词等, + * menu=>非必须,菜单目录,不存在的话按控制器寻找 + * ) + * get: 页面get参数 + * + * return: 0:错误 1:成功 + */ + public function addOperationLog() { + + $Get = $_GET['get']; + $option = $_GET['option']; + + if (!$option['key']) { + $option['key'] = getNowDate(); + } + + if (!$option['url']) { + $this->ajaxReturn(['code'=>0]); + } + + if (!$option['menu']) { + $this->ajaxReturn(['code'=>0]); + } + + if (!$option['op_name']) { + $this->ajaxReturn(['code'=>0]); + } + + addOperationLog(['op_type'=>$option['op_type'],'key'=>$option['key'],'op_name'=>$option['op_name'],'url'=>U($option['url'],$Get),'menu'=>$option['menu']]); + + $this->ajaxReturn(['code'=>1]); + } + + public function getPromoteChildren($pid) + { + $info = M('promote', 'tab_')->where(['id'=>$pid])->find(); + if (empty($info)) return $this->ajaxReturn(['code'=>1, 'data'=>[]]); + $result = M('promote', 'tab_')->field("id,account,nickname")->where(['parent_id'=>$pid])->select(); + $this->ajaxReturn(['code'=>1, 'data'=>$result]); + } + + public function getPromotersByLevelResource() + { + $level = I('level'); + if (!$level) { +// return $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>[]]); + $level = ''; + } + $this->ajaxReturn(['code'=>1, 'msg'=>'获取成功', 'data'=>(new PromoteModel)->getPromotersByLevelResource($level)]); + } + +} \ No newline at end of file diff --git a/Application/Payment/Controller/PaymentController.class.php b/Application/Payment/Controller/PaymentController.class.php index f6038da41..401ef67bb 100644 --- a/Application/Payment/Controller/PaymentController.class.php +++ b/Application/Payment/Controller/PaymentController.class.php @@ -24,6 +24,10 @@ class PaymentController extends BaseController } public function lists() { + $params = I('get.'); + $page = $params['p'] ? intval($params['p']) : 1; + $row = $params['row'] ? intval($params['row']) : 10; + $map=[ "i.verify_status"=>["in","-1,1"], ]; @@ -32,6 +36,7 @@ class PaymentController extends BaseController ->field("i.*,p.statement_num statement_pool_num") ->join("tab_company_statement_pool p ON p.id = i.pool_id") ->where($map) + ->order("FIELD(pay_status,0,-1,1),verify_status desc") ->select(); foreach($CompanyInfo as $k=>&$v){ $v['can_pay'] = 1; @@ -56,11 +61,244 @@ class PaymentController extends BaseController } $v["valid"] = "{$v['statement_begin_time']} ~ {$v['statement_end_time']}"; } + //统计待打款金额 + $countmap = $map; + $countmap['pay_status']=["neq",1]; + $money = M("company_statement_info","tab_")->alias('i')->field("sum(statement_money) statement_money")->where($countmap)->find(); - $this->assign("data",$CompanyInfo); + $count = M("company_statement_info","tab_")->alias('i')->field("count(id) count")->where($map)->find(); + // dd($count); + $parameter['p'] = $page; + $parameter['row'] = $row; + $page = set_pagination($count['count'], $row, $parameter); + if ($page) { + $this->assign('_page', $page); + } + + $this->assign("data",$CompanyInfo); + $this->assign("money",$money); + $this->assign("CompanyType", $this->CompanyType); $this->display(); } + //查看 + public function viewPool() + { + if(!isset($_REQUEST['id'])){ + $this->error('参数错误'); + } + $id = $_REQUEST['id']; + $is_export= false; + if (isset($_REQUEST['export']) && $_REQUEST['export']==1){ + $is_export = true; + } + //获取基本信息 + $dbres = M("company_statement_info","tab_")->where("id='{$id}'")->select(); + $title = $dbres[0]['company_name']; + $this->assign("title",$title); + + if($dbres[0]['company_type'] == 3){ + //上游 + $this->viewCpPool($dbres,$is_export); + }elseif($dbres[0]['company_type'] == 1){ + //下游公司 + $this->viewPcPool($dbres,$is_export); + }else{ + $this->viewPuPool($dbres,$is_export); + } + + } + //个人汇总结算查看 + public function viewPuPool(&$infolist,$is_export){ + $line = 1; + $count = []; + //获取对接人 + 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']); + $cline = $line+1; + if($is_export){ + $v['sum_money_exp'] = "="; + } + foreach($v['statement_info'] as $ke=>&$va){ + $line ++; + if(isset($va['ratio'])){ + $va['increment_ratio'] = 0; + }else{ + $va['ratio'] = 0; + } + + if($is_export){ + //J3*(K3+L3)+M3-N3 + $va['sum_money'] = "=J{$line}*(K{$line}+L{$line})+M{$line}-N{$line}"; + $count['sum_money_exp'] .= "O{$line}+"; + $count['platform_amount_exp'] .= "J{$line}+"; + + }else{ + $count['platform_amount'] += $va['pay_amount']; + $count['sum_money'] += $va['sum_money']; + } + } + $v['statement_count'] = count($v['statement_info']); + + } + if($is_export){ + $count["platform_amount"] = "=".trim($count["platform_amount_exp"],"+"); + $count["sum_money"] = "=".trim($count["sum_money_exp"],"+"); + } + $this->assign("data",$infolist); + $this->assign("count",$count); + $this->assign("is_export",$is_export); + $this->display("viewPuPool"); + } + //下游汇总结算查看 + public function viewPcPool(&$infolist,$is_export){ + $line = 1; + $count = []; + //获取对接人 + $p_id = array_column($infolist,'company_id'); + $map['id'] = ['in',$p_id]; + $pl = M("promote_company","tab_")->field("id,settlement_contact")->where($map)->select(); + $Partner = []; + foreach($pl as $k=>$v){ + $Partner[$v['id']] = $v['settlement_contact']; + } + unset($pl); + foreach($infolist as $k=>&$v){ + $v['statement_info'] = json_decode($v['statement_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']); + $cline = $line+1; + if($is_export){ + $v['statement_money_exp'] = "="; + } + foreach($v['statement_info'] as $ke=>&$va){ + $line ++; + if(isset($va['ratio'])){ + $va['increment_ratio'] = 0; + }else{ + $va['ratio'] = 0; + } + + if($is_export){ + $v['statement_money_exp'] .= "H{$line}+"; + + $va['d_statement_money'] = "=D{$line}*(1-G{$line})*(E{$line}+F{$line})"; + + $count['platform_amount_exp'] .= "D{$line}+"; + $count['d_statement_money_exp'] .= "H{$line}+"; + + }else{ + $va['d_statement_money'] = round($va['pay_amount']*($va['ratio']+$va['increment_ratio'])*(100-$va['fax_ratio'])/100/100,2); + + $count['platform_amount'] += $va['pay_amount']; + + $count['d_statement_money'] += $va['d_statement_money']; + } + } + $v['settlement_contact'] = $Partner[$v['company_id']]; + + if($is_export){ + $v['statement_money_exp'] .= "J{$cline}-I{$cline}"; + $v['statement_money'] = $v['statement_money_exp']; + + $count['fine_exp'] .= "I{$cline}+"; + $count['reward_exp'] .= "J{$cline}+"; + + $count['statement_money_exp'] .= "K{$cline}+"; + }else{ + $count['fine'] += $v['fine']; + $count['reward'] += $v['reward']; + $count['statement_money'] += $v['statement_money']; + } + $v['statement_count'] = count($v['statement_info']); + + } + if($is_export){ + $count["d_statement_money"] = "=".trim($count["d_statement_money_exp"],"+"); + $count["platform_amount"] = "=".trim($count["platform_amount_exp"],"+"); + $count["fine"] = "=".trim($count["fine_exp"],"+"); + $count["reward"] = "=".trim($count["reward_exp"],"+"); + $count["statement_money"] = "=".trim($count["statement_money_exp"],"+"); + } + + $this->assign("data",$infolist); + $this->assign("count",$count); + $this->assign("is_export",$is_export); + $this->display("viewPcPool"); + + } + + //上游汇总查看及导出 + public function viewCpPool(&$infolist,$is_export) + { + $line = 2; + $count = []; + //获取平台名 + $p_id = array_column($infolist,'company_id'); + $map['id'] = ['in',$p_id]; + $pl = M("Partner","tab_")->field("id,matche_platform")->where($map)->select(); + $Partner = []; + foreach($pl as $k=>$v){ + $Partner[$v['id']] = $v['matche_platform']; + } + unset($pl); + // + foreach($infolist as $k=>&$v){ + $v['statement_info'] = json_decode($v['statement_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']); + $cline = $line+1; + if($is_export){ + $v['statement_money_exp'] = "="; + } + foreach($v['statement_info'] as $ke=>&$va){ + $line ++; + $va['company_ratio'] = 100-$va['ratio']; + if($is_export){ + $v['statement_money_exp'] .= "K{$line}+"; + $va['d_statement_money'] = "=F{$line}*G{$line}"; + $count['platform_amount_exp'] .= "E{$line}+"; + $count['platform_amount_exp2'] .= "F{$line}+"; + $count['d_statement_money_exp'] .= "K{$line}+"; + }else{ + $va['d_statement_money'] = round($va['pay_amount']*$va['ratio']/100,2); + $count['platform_amount'] += $va['pay_amount']; + $count['platform_amount2'] += $va['pay_amount']; + $count['d_statement_money'] += $va['d_statement_money']; + } + } + $v['matche_platform'] = $Partner[$v['company_id']]; + if($is_export){ + $v['statement_money_exp'] .= "M{$cline}-L{$cline}"; + $v['statement_money'] = $v['statement_money_exp']; + $count['fine_exp'] .= "L{$cline}+"; + $count['reward_exp'] .= "M{$cline}+"; + $count['statement_money_exp'] .= "N{$cline}+"; + }else{ + $count['fine'] += $v['fine']; + $count['reward'] += $v['reward']; + $count['statement_money'] += $v['statement_money']; + } + $v['statement_count'] = count($v['statement_info']); + + } + if($is_export){ + $count["d_statement_money"] = "=".trim($count["d_statement_money_exp"],"+"); + $count["platform_amount"] = "=".trim($count["platform_amount_exp"],"+"); + $count["platform_amount2"] = "=".trim($count["platform_amount_exp2"],"+"); + $count["fine"] = "=".trim($count["fine_exp"],"+"); + $count["reward"] = "=".trim($count["reward_exp"],"+"); + $count["statement_money"] = "=".trim($count["statement_money_exp"],"+"); + } + $this->assign("data",$infolist); + $this->assign("count",$count); + $this->assign("is_export",$is_export); + $this->display("viewCpPool"); + } + public function transfer_set() { Vendor("Alipay2020/Fund"); diff --git a/Application/Payment/View/Payment/lists.html b/Application/Payment/View/Payment/lists.html index 17030e06c..477e6e70f 100644 --- a/Application/Payment/View/Payment/lists.html +++ b/Application/Payment/View/Payment/lists.html @@ -145,9 +145,7 @@
- - {$vo} - + 批量打款
@@ -200,13 +198,14 @@ {$data.pay_time} {$data.remark} - - {$vo} - + 查看 + + 打款详情 + - 合计结算总金额: {$count.statement_money} + 合计待打款金额: {$money.statement_money} @@ -215,7 +214,7 @@
- 导出 + {$_page|default=''}
@@ -276,9 +275,9 @@ }) $("#company_type").change(); - $(".viewStatement").click(function () { + $(".viewPool").click(function () { var id = $(this).data("id"); - var url = "{:U('viewStatement')}"+"&id="+id + var url = "{:U('viewPool')}"+"&id="+id layer.open({ type: 2, title: "海南万盟天下科技有限公司", @@ -289,80 +288,9 @@ }); }); - $("#pool").on("click",function(){ - var id = $(this).attr("id"); - var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { - return $(elem).val(); - }).get(); - - if(text.length > 40){ - layer.msg("" + '为保证效率暂不支持超过40条的批量操作' + ""); - return; - } - if(text.length < 1){ - layer.msg("" + '无需要汇总的操作'+""); - return; - } - text = text.join(","); - - if(confirm){ - layer.confirm('【警告】汇总后将不可回退,如需继续请点击确认', { - btn: ['确认','取消'], - title:false - }, function(){ - _doAgreeApply(); - }); - }else{ - _doAgreeApply(); - } - - function _doAgreeApply(){ - //执行 - $.ajax({ - type: "POST", - url: "{:U('pool')}", - dataType: 'json', - async: false, - data: {ids:text}, - success:function(data){ - if(data.status==1){ - layer.msg("" + data.info + ""); - setTimeout(function(){ - window.location.reload(); - },1500); - }else{ - layer.msg("" + data.info + ""); - return false; - } - } - }); - } - }) - - $("#export").click(function () { - var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { - return $(elem).val(); - }).get(); - - if(text.length > 20){ - layer.msg("" + '暂不支持超过20条的批量导出' + ""); - return; - } - if(text.length < 1){ - layer.msg("" + '请先选择要导出的结算单' + ""); - return; - } - for (var index = 0; index < text.length; index++) { - var id = text[index]; - var url ="{:U('viewStatement')}"+"&id="+id+"&export=1"; - var iframeExcel = ""//添加下载的地址到iframe,这里是公司信息,我用**表示了。 - $("body").append(iframeExcel) - } - }) - $("#search").click(function(){ var start = $("#time_start").val(); diff --git a/Application/Payment/View/Payment/viewCpPool.html b/Application/Payment/View/Payment/viewCpPool.html new file mode 100644 index 000000000..2f0f88287 --- /dev/null +++ b/Application/Payment/View/Payment/viewCpPool.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
合作公司平台结算日期产品平台流水未结算平台流水分成比例渠道费率税费费率合作方待结算分成违规罚款奖励合作待结算金额备注
合作方我方
{$com.company_name}{$com.matche_platform}{$com['statement_info'][0]['statement_begin_time']} ~ {$com['statement_info'][0]['statement_end_time']}{$com['statement_info'][0]['game_name']}{$com['statement_info'][0]['pay_amount']}{$com['statement_info'][0]['pay_amount']}{$com['statement_info'][0]['ratio']}%{$com['statement_info'][0]['company_ratio']}%{$com['statement_info'][0]['promote_ratio']}%{$com['statement_info'][0]['fax_ratio']}%{$com['statement_info'][0]['d_statement_money']}{$com.fine}{$com.reward}{$com.statement_money}{$com.renark}
{$it['statement_begin_time']} ~ {$it['statement_end_time']}{$it['game_name']}{$it['pay_amount']}{$it['pay_amount']}{$it['ratio']}%{$it['company_ratio']}%{$it['promote_ratio']}%{$it['fax_ratio']}%{$it['d_statement_money']}
合计:{$count.platform_amount}{$count.platform_amount2}{$count.d_statement_money}{$count.fine}{$count.reward}{$count.statement_money}
+
+
+ + + diff --git a/Application/Payment/View/Payment/viewPcPool.html b/Application/Payment/View/Payment/viewPcPool.html new file mode 100644 index 000000000..b8d1c2e5a --- /dev/null +++ b/Application/Payment/View/Payment/viewPcPool.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
序号公司名称合作产品名称平台总额(元)下游内团分成比例补点比例税费费率分成金额/元罚款奖励合计/元对账人结算日期备注
{$key-0+1}{$com.company_name}{$com['statement_info'][0]['game_name']}{$com['statement_info'][0]['pay_amount']}{$com['statement_info'][0]['ratio']}%{$com['statement_info'][0]['increment_ratio']}%{$com['statement_info'][0]['fax_ratio']}%{$com['statement_info'][0]['d_statement_money']}{$com.fine}{$com.reward}{$com.statement_money}{$com.settlement_contact}{$com['statement_info'][0]['statement_begin_time']} ~ {$com['statement_info'][0]['statement_end_time']}{$com.renark}
{$it['game_name']}{$it['pay_amount']}{$it['ratio']}%{$it['increment_ratio']}%{$it['fax_ratio']}%{$it['d_statement_money']}{$it['statement_begin_time']} ~ {$it['statement_end_time']}
合计:{$count.platform_amount}{$count.d_statement_money}{$count.fine}{$count.reward}{$count.statement_money}
+
+
+ + + diff --git a/Application/Payment/View/Payment/viewPuPool.html b/Application/Payment/View/Payment/viewPuPool.html new file mode 100644 index 000000000..bc15698e0 --- /dev/null +++ b/Application/Payment/View/Payment/viewPuPool.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
序号下游名称会长账号下游类型市场员下游性质产品产品类型结算时间推广流水分成比例补点奖励罚款结算金额开户名银行卡号开户支行帐户类型备注
{$key-0+1}{$com.company_name}{$com.company_info.account}{$com.company_info.company_relation_str}{$com.company_info.nickname}{$com.company_info.company_type_str}{$com['statement_info'][0]['game_name']}{$com['statement_info'][0]['game_type_name']}{$com['statement_info'][0]['statement_begin_time']} ~ {$com['statement_info'][0]['statement_end_time']}{$com['statement_info'][0]['pay_amount']}{$com['statement_info'][0]['ratio']|default=0}%{$com['statement_info'][0]['increment_ratio']|default=0}%{$com['statement_info'][0]['reward']}{$com['statement_info'][0]['fine']}{$com['statement_info'][0]['sum_money']}{$com.company_info.payee_name}{$com.company_info.bank_account}{$com.company_info.opening_bank}{$com.remark}
{$it['game_name']}{$it['game_type_name']}{$it['statement_begin_time']} ~ {$it['statement_end_time']}{$it['pay_amount']}{$it['ratio']|default=0}%{$it['increment_ratio']|default=0}%{$it['reward']}{$it['fine']}{$it['sum_money']}
合计:{$count.platform_amount}{$count.sum_money}
+
+
+ + +