You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
803 lines
31 KiB
PHP
803 lines
31 KiB
PHP
<?php
|
|
|
|
namespace Admin\Controller;
|
|
|
|
use Base\Tool\AggregateClient;
|
|
use User\Api\UserApi as UserApi;
|
|
use Think\Controller;
|
|
use Base\Service\PartnerService;
|
|
|
|
/**
|
|
* 后台首页控制器
|
|
* @author 麦当苗儿 <zuojiazi@vip.qq.com>
|
|
*/
|
|
class PartnerController extends ThinkController
|
|
{
|
|
private $modelName = 'Partner';
|
|
public $OpAuthList=[];
|
|
public $aggregatePackageName = [];
|
|
|
|
public function _initialize()
|
|
{
|
|
$this->admininfo = $_SESSION['onethink_admin']['user_auth'];
|
|
parent::_initialize();
|
|
}
|
|
//列表
|
|
public function lists()
|
|
{
|
|
$model = M($this->modelName, 'tab_');
|
|
$now = time();
|
|
$map = ["_string" => "1=1 "];
|
|
$id = intval(I('id', 0));
|
|
if (!empty($id)) {
|
|
$map['tab_partner.id'] = $id;
|
|
$parameter['id'] = $id;
|
|
}
|
|
|
|
if (isset($_REQUEST['status']) && $_REQUEST['status'] !== '') {
|
|
$status = intval($_REQUEST['status']);
|
|
$map['tab_partner.status'] = $status;
|
|
$parameter['status'] = $status;
|
|
}
|
|
if (!empty(I('company_type'))) {
|
|
$map['company_type'] = I('company_type');
|
|
}
|
|
if (!empty(I('partner'))) {
|
|
$map['partner'] = ['like', '%' . I('partner') . '%'];
|
|
}
|
|
|
|
if (isset($_REQUEST['timestart']) && isset($_REQUEST['timeend'])) {
|
|
$time_start = strtotime($_REQUEST['timestart']);
|
|
$time_end = strtotime($_REQUEST['timeend'])+ 86399;
|
|
$map["_string"] = "(contract_start_time BETWEEN {$time_start} AND {$time_end}) OR (contract_end_time BETWEEN {$time_start} AND {$time_end}) OR (contract_start_time <= {$time_end} AND contract_end_time >= {$time_end}) OR (contract_start_time >0 AND contract_end_time = 0)";
|
|
} elseif (isset($_REQUEST['timestart'])) {
|
|
$time_start = strtotime($_REQUEST['timestart']);
|
|
$map["_string"] = "(contract_start_time >= {$time_start} ) OR (contract_end_time >= {$time_start}) OR ( contract_start_time >0 AND contract_end_time = 0)";
|
|
} elseif (isset($_REQUEST['timeend'])) {
|
|
$time_end = strtotime($_REQUEST['timeend'])+ 86399;
|
|
$map["_string"] = "(contract_start_time <= {$time_end} ) OR (contract_end_time <= {$time_end})";
|
|
}
|
|
if (!empty(I('contract_type'))) {
|
|
if(I('contract_type') == 1){
|
|
$map['_string'] .= " AND (contract_end_time = 0 OR contract_end_time > {$now})";
|
|
}else{
|
|
$map['_string'] .= " AND (contract_end_time <= {$now} AND contract_end_time != 0)";
|
|
}
|
|
}
|
|
|
|
|
|
if($_REQUEST['original_package_name']) {
|
|
$game_map['original_package_name'] = ['like',"%{$_REQUEST['original_package_name']}%"];
|
|
}
|
|
|
|
if($_REQUEST['relation_game_name']) {
|
|
$game_map['relation_game_name'] = ['like',"%{$_REQUEST['relation_game_name']}%"];
|
|
}
|
|
|
|
$page = intval(I('get.p', 0));
|
|
$page = $page ? $page : 1; //默认显示第一页数据
|
|
$row = intval(I('row', 0));
|
|
$row = empty($row) ? 10 : $row;//每页条数
|
|
|
|
$is_export= false;
|
|
if (isset($_REQUEST['export']) && $_REQUEST['export']==1){
|
|
$is_export = true;
|
|
$this->getAggregatePackage();
|
|
}
|
|
|
|
//获取分页数据
|
|
$query = $model->alias('p')
|
|
->where($map)
|
|
->order("id desc");
|
|
if($is_export){
|
|
$partners = $query
|
|
->field("p.*,IFNULL(d.advance_amount,'--') advance_amount")
|
|
->join("left join tab_partner_divide_warn d ON d.partner_id = p.id AND d.status = 1")
|
|
->select();
|
|
}else{
|
|
$partners = $query
|
|
->field("p.*")
|
|
// ->page($page,$row)
|
|
->select();
|
|
}
|
|
// dump($partners);die();
|
|
|
|
//获取公司id
|
|
$partner_ids = array_column($partners, 'id');
|
|
$partner_ids = $partner_ids ? $partner_ids : [0];
|
|
$game_map['partner_id'] = ["in",$partner_ids];
|
|
$games = M("game","tab_")->alias('g')
|
|
->field("g.game_type_name,g.relation_game_name,g.original_package_name,g.partner_id,g.relation_game_id as id,unique_code")
|
|
->where($game_map)
|
|
->group('relation_game_id')
|
|
->select();
|
|
|
|
$game_ids = array_column($games, 'id');
|
|
$game_ids = $game_ids ? $game_ids : [0];
|
|
$cp_game_ratio_map['game_id'] = ["in", $game_ids];
|
|
$cp_game_ratio_map['is_del'] = '0';
|
|
//获取游戏比例
|
|
$gameradiores = M("cp_game_ratio","tab_")
|
|
->alias("cg")
|
|
->join("tab_game ga ON cg.game_id = ga.id")
|
|
->field("cg.ratio,cg.instanceof,cg.game_id,cg.begin_total_amount")
|
|
->where($cp_game_ratio_map)
|
|
->group('relation_game_id,begin_total_amount')
|
|
->select();
|
|
|
|
// dd($cp_game_ratio_map);
|
|
$parseGameRadiores = array();//合作方分成比例
|
|
// foreach ($gameradiores as $key =>$val) {
|
|
// $val['row'] = 1;
|
|
// $val['my_ratio'] = 100 - $val['ratio'];
|
|
// if ($val['begin_total_amount'] == 0) {
|
|
// $val['name'] = '默认比例';
|
|
// if (isset($parseGameRadiores[$val['game_id']])) {
|
|
// $parseGameRadiores[$val['game_id']] = [];
|
|
// }
|
|
// } else {
|
|
// if($val['instanceof']=='1'){
|
|
// $val['name']="月流水≥".$val['begin_total_amount'];
|
|
// }else{
|
|
// $val['name']="月流水>".$val['begin_total_amount'];
|
|
// }
|
|
// }
|
|
// $val['ratio'] = floatval($val['ratio']);
|
|
// $parseGameRadiores[$val['game_id']][] = $val;
|
|
// }
|
|
|
|
foreach ($gameradiores as $key =>$val) {
|
|
$val['row'] = 1;
|
|
$val['my_ratio'] = 100 - $val['ratio'];
|
|
if ($val['begin_total_amount'] == 0) {
|
|
if ($gameradiores[$key+1]['begin_total_amount']==0) {
|
|
$val['name'] = "0.00≤月流水≤∞";
|
|
} else {
|
|
$val['name']=$val['begin_total_amount']."≤月流水<".$gameradiores[$key+1]['begin_total_amount'];
|
|
}
|
|
|
|
|
|
if (isset($parseGameRadiores[$val['game_id']])) {
|
|
$parseGameRadiores[$val['game_id']] = [];
|
|
}
|
|
} else {
|
|
if($val['instanceof']=='1'){
|
|
|
|
if ($gameradiores[$key+1]['begin_total_amount']!=0) {
|
|
$val['name']=$val['begin_total_amount']."≤月流水<".$gameradiores[$key+1]['begin_total_amount'];
|
|
} else {
|
|
$val['name']=$val['begin_total_amount']."≤月流水≤∞";
|
|
}
|
|
|
|
// $val['name']="月流水≥".$val['begin_total_amount'];
|
|
}else{
|
|
|
|
if($gameradiores[$key+1]['begin_total_amount']!=0) {
|
|
|
|
if ($gameradiores[$key+1]['instanceof'] == '1') {
|
|
$val['name']=$val['begin_total_amount']."<月流水<".$gameradiores[$key+1]['begin_total_amount'];
|
|
} else {
|
|
$val['name']=$val['begin_total_amount']."≤月流水<".$gameradiores[$key+1]['begin_total_amount'];
|
|
}
|
|
|
|
|
|
} else {
|
|
if ($gameradiores[$key+1]['instanceof'] == '1') {
|
|
$val['name']=$val['begin_total_amount']."<月流水≤∞";
|
|
} else {
|
|
$val['name']=$val['begin_total_amount']."≤月流水≤∞";
|
|
}
|
|
|
|
}
|
|
|
|
// $val['name']="月流水>".$val['begin_total_amount'];
|
|
}
|
|
}
|
|
$val['ratio'] = floatval($val['ratio']);
|
|
$parseGameRadiores[$val['game_id']][] = $val;
|
|
}
|
|
|
|
$myGameRadiores = $parseGameRadiores;//我方分成比例
|
|
foreach ($myGameRadiores as $key => &$val) {
|
|
foreach ($val as $k => &$v) {
|
|
$v['ratio'] = 100 - $v['ratio'];
|
|
}
|
|
}
|
|
|
|
$parseGames = array();
|
|
|
|
foreach ($games as $key =>$val) {
|
|
$val['game_ratio'] = $parseGameRadiores[$val['id']];
|
|
$val['my_game_ratio'] = $myGameRadiores[$val['id']];
|
|
if(array_key_exists($val['id'],$parseGameRadiores)){//游戏有比例
|
|
$row2 = array_sum(array_column($val['game_ratio'], 'row')) ;
|
|
$val['row'] = empty($row2) ? 1: $row2;
|
|
} else {
|
|
$val["row"] = 1;
|
|
}
|
|
$val['original_package_name'] = $val['original_package_name'] ?: '-';
|
|
$val['aggregate_gamename'] = $this->aggregatePackageName[$val['unique_code']];
|
|
|
|
$parseGames[$val['partner_id']][] = $val;
|
|
}
|
|
|
|
|
|
$parseData = array();
|
|
foreach ($partners as $key =>$value) {
|
|
$tmpr = D("CompanyRelation")->getCompanyRelation(1,$value['id']);
|
|
|
|
$value['is_collection'] = $tmpr['collection'];
|
|
$value['settlement_type'] = $tmpr['settlement_type'];
|
|
$value['invoice_type'] = $tmpr['invoice_type'];
|
|
$value['invoice_content'] = $tmpr['invoice_content'];
|
|
|
|
$value['game'] = $parseGames[$value['id']];
|
|
$value['has_advance_charge'] = $value['has_advance_charge'] ? '是' : '否';
|
|
$value['is_sign_contract'] = $value['is_sign_contract'] ? '是' : '否';
|
|
if(empty($value['has_server_fee'])){
|
|
$value['server_fee'] = 0;
|
|
}
|
|
$value['has_server_fee'] = $value['has_server_fee'] ? '是' : '否';
|
|
$value['cooperation_status'] = $value['cooperation_status'] ? '合作中' : '暂停合作';
|
|
$value['company_type'] = $value['company_type'] == 2 ? '个人' : '公司';
|
|
|
|
$value['has_game_evidence'] = $value['has_game_evidence'] ? '是' : '否';
|
|
|
|
$contract_start_time = $value['contract_start_time'] ? time_format($value['contract_start_time'], 'Y/m/d') : '-';
|
|
if($value['contract_start_time']){
|
|
$contract_end_time = $value['contract_end_time'] ? date('Y/m/d', $value['contract_end_time']) : '永久';
|
|
}else{
|
|
$contract_end_time = $value['contract_end_time'] ? time_format($value['contract_end_time'], 'Y/m/d') : '-';
|
|
}
|
|
$value['contract_time'] = $contract_start_time . '-' . $contract_end_time;
|
|
//判断合同是否过期
|
|
if($value['contract_end_time'] == 0){
|
|
$value['contract_str'] = "未过期";
|
|
}elseif($value['contract_end_time']-0+86399 < time()){
|
|
$value['contract_str'] = "<span style='color:red;'>已过期</span>";
|
|
}else{
|
|
$value['contract_str'] = "未过期";
|
|
}
|
|
|
|
$validity_start_time = $value['validity_start_time'] ? time_format($value['validity_start_time'], 'Y/m/d') : '-';
|
|
if($value['validity_start_time']){
|
|
$validity_end_time = $value['validity_end_time'] ? date('Y/m/d', $value['validity_end_time']) : '永久';
|
|
}else{
|
|
$validity_end_time = $value['validity_end_time'] ? time_format($value['validity_end_time'], 'Y/m/d') : '-';
|
|
}
|
|
$value['validity_time'] = $validity_start_time . '-' . $validity_end_time;
|
|
|
|
$row2 = array_sum(array_column($value['game'], 'row')) ;
|
|
$value['row'] = empty($row2) ? 1: $row2;
|
|
$parseData[] = $value;
|
|
}
|
|
|
|
if ($_REQUEST['original_package_name'] || $_REQUEST['relation_game_name']) {
|
|
|
|
foreach ( $parseData as $key => $value ) {
|
|
|
|
if (!$value['game']) {
|
|
unset($parseData[$key]);
|
|
}
|
|
|
|
}
|
|
}
|
|
// dd($parseData);
|
|
if($is_export){
|
|
$this->assign('listData', $parseData);
|
|
$GetData = $_GET;
|
|
unset($GetData['export']);
|
|
addOperationLog(['op_type'=>3,'key'=>getNowDate(),'url'=>U(CONTROLLER_NAME.'/'.ACTION_NAME,$GetData),'menu'=>"游戏-游戏管理-合作方管理-导出"]);
|
|
$this->display("export");
|
|
die();
|
|
}
|
|
|
|
$count = count($parseData);
|
|
/* 查询记录总数 */
|
|
// $count = $model
|
|
// ->where($map)
|
|
// ->count();
|
|
$arraypage = $page;
|
|
|
|
//分页
|
|
$parameter['p'] = $page;
|
|
$parameter['row'] = $row;
|
|
$page = set_pagination($count, $row, $parameter);
|
|
if ($page) {
|
|
$this->assign('_page', $page);
|
|
}
|
|
|
|
// $arraypage = $page;
|
|
$size = $row;//每页显示的记录数
|
|
$parseData = array_slice($parseData, ($arraypage - 1) * $size, $size);
|
|
// $page = set_pagination($count, $row, $parameter);
|
|
// if ($page) {
|
|
// $this->assign('_page', $page);
|
|
// }
|
|
// dump($arraypage);
|
|
// dump($size);die();
|
|
|
|
$this->checkListOrCountAuthRestMap($map,[]);
|
|
$this->assign('listData', $parseData);
|
|
$this->assign('count', $count);
|
|
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Partner/lists'])->find());
|
|
$this->meta_title = '上游CP公司列表';
|
|
$this->display();
|
|
}
|
|
//审核列表
|
|
public function index()
|
|
{
|
|
$page = intval(I('get.p', 0));
|
|
$page = $page ? $page : 1; //默认显示第一页数据
|
|
$row = intval(I('row', 0));
|
|
$row = empty($row) ? 10 : $row;//每页条数
|
|
$p = $_REQUEST;
|
|
|
|
if(!IS_ROOT){
|
|
$this->OpAuthList= getModuleControllerAuth();
|
|
}
|
|
|
|
$map = [];
|
|
if (!empty(I('partner_name'))) {
|
|
$map['partner_name'] = ['like', '%' . I('partner_name') . '%'];
|
|
}
|
|
if (!empty($p['verify_type'])) {
|
|
if($p['verify_type'] == 1){
|
|
$map['partner_id'] = 0;
|
|
}else{
|
|
$map['partner_id'] = ["neq",0];
|
|
}
|
|
}
|
|
if (isset($p['verify_status'])) {
|
|
$map['verify_status'] = $p['verify_status'];
|
|
}
|
|
|
|
if (isset($_REQUEST['timestart']) && isset($_REQUEST['timeend'])) {
|
|
$time_start = strtotime($_REQUEST['timestart']);
|
|
$time_end = strtotime($_REQUEST['timeend'])+ 86399;
|
|
$map["create_time"] =['BETWEEN',[$time_start, $time_end]];
|
|
} elseif (isset($_REQUEST['timestart'])) {
|
|
$time_start = strtotime($_REQUEST['timestart']);
|
|
$map["create_time"] =['EGT',$time_start];
|
|
} elseif (isset($_REQUEST['timeend'])) {
|
|
$time_end = strtotime($_REQUEST['timeend'])+ 86399;
|
|
$map["create_time"] = ['ELT',$time_end];
|
|
}
|
|
$model = M("partner_verify", 'tab_');
|
|
$data = $model->where($map)->page($page,$row)->order("FIELD(verify_status,0,1,-1),create_time desc")->select();
|
|
foreach ($data as $k => &$v) {
|
|
$v['partner_info'] = json_decode($v['partner_info'],true);
|
|
if($v['partner_id'] == 0){
|
|
$v['verify_type'] = "新增";
|
|
}else{
|
|
$v['verify_type'] = "修改";
|
|
}
|
|
$v['partner_info']['company_type'] = $v['partner_info']['company_type'] == 2 ? '个人' : '公司';
|
|
|
|
|
|
$contract_start_time = $v['partner_info']['contract_start_time'] ? time_format($v['partner_info']['contract_start_time'], 'Y/m/d') : '-';
|
|
if($v['partner_info']['contract_start_time']){
|
|
$contract_end_time = $v['partner_info']['contract_end_time'] ? date('Y/m/d', $v['partner_info']['contract_end_time']) : '永久';
|
|
}else{
|
|
$contract_end_time = $v['partner_info']['contract_end_time'] ? time_format($v['partner_info']['contract_end_time'], 'Y/m/d') : '-';
|
|
}
|
|
$v['contract_time'] = $contract_start_time . '-' . $contract_end_time;
|
|
|
|
$validity_start_time = $v['partner_info']['validity_start_time'] ?
|
|
time_format($v['partner_info']['validity_start_time'], 'Y/m/d') : '-';
|
|
|
|
if($v['partner_info']['validity_start_time']){
|
|
$validity_end_time = $v['partner_info']['validity_end_time'] ? date('Y/m/d', $v['partner_info']['validity_end_time']) : '永久';
|
|
}else{
|
|
$validity_end_time = $v['partner_info']['validity_end_time'] ? time_format($v['partner_info']['validity_end_time'], 'Y/m/d') : '-';
|
|
}
|
|
$v['validity_time'] = $validity_start_time . '-' . $validity_end_time;
|
|
|
|
$create_time = date("Y-m-d H:i:s",$v["create_time"]);
|
|
|
|
$v['verify_log'] = json_decode($v['verify_log'], true);
|
|
$v["create"]= "{$v['verify_log']['create_user']} <br> {$v['verify_log']['create_time']}";
|
|
if(isset($v['verify_log']['verify_user'])){
|
|
if($v['verify_status'] == -1){
|
|
$ts = "审核拒绝";
|
|
}else{
|
|
$ts = "审核通过";
|
|
}
|
|
$v["verify"]= "{$ts}({$v['verify_log']['verify_user']}) <br> {$v['verify_log']['verify_time']}";
|
|
}else{
|
|
$v["verify"] = '--';
|
|
}
|
|
|
|
}
|
|
$count = $model->where($map)->count();
|
|
$page = set_pagination($count, $row);
|
|
if ($page) {
|
|
$this->assign('_page', $page);
|
|
}
|
|
$this->assign('menubtn',$this->menuAuth());
|
|
$this->assign('listData', $data);
|
|
$this->assign('count', $count);
|
|
$this->assign('VerifyStatus', D("PartnerVerify")->VerifyStatus);
|
|
$this->meta_title = '上游CP审核列表';
|
|
$this->display();
|
|
}
|
|
|
|
//添加
|
|
public function add()
|
|
{
|
|
$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 {
|
|
$partnerService = new PartnerService();
|
|
$partnerService->checkRelation($save['relation'] ?? []);
|
|
} catch (\Exception $e) {
|
|
$this->ajaxReturn(array(
|
|
'status' => 0,
|
|
'info' => $e->getMessage()
|
|
));
|
|
}
|
|
|
|
$save['uid'] = UID;
|
|
$save['create_time'] = time();
|
|
|
|
$has_check = M("partner_verify","tab_")->where(["partner_name"=>$save['partner'],"verify_status"=>0])->field("id")->find();
|
|
if ($has_check) {
|
|
$this->error('已存在同名未审核的cp,请勿重复添加');
|
|
}
|
|
|
|
$has_check = M("partner","tab_")->where(["partner"=>$save['partner']])->field("id")->find();
|
|
if ($has_check) {
|
|
$this->error('已存在同名cp,请勿重复添加');
|
|
}
|
|
|
|
$res =D("PartnerVerify")->add_db($save);
|
|
if ($res) {
|
|
//操作日志
|
|
addOperationLog(array(
|
|
"op_type"=>0,
|
|
"key"=>$save['partner'],
|
|
"url"=>U("Partner/lists",array("partner"=>$save['partner']))
|
|
));
|
|
$this->success('保存成功,请联系管理尽快审核', U('index'));
|
|
} else {
|
|
$this->error('保存失败');
|
|
}
|
|
} else {
|
|
$selfCompanies = M('company_info', 'tab_')->field('id,partner company_name,link_man,link_phone')->where(['status' => 1])->select();
|
|
|
|
$this->assign('selfCompanies', $selfCompanies);
|
|
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Partner/add'])->find());
|
|
$this->meta_title = '新增上游CP公司';
|
|
$this->display();
|
|
}
|
|
}
|
|
|
|
//编辑
|
|
public function edit()
|
|
{
|
|
$model = M($this->modelName, 'tab_');
|
|
|
|
if ($_POST) {
|
|
$save = I("post.");
|
|
$this->checkData($save);
|
|
if ($save['part_a_type'] == 1) { // 1己方公司的时候 合作类型是2
|
|
$save['relation']['collaborate_way'] = 2;
|
|
}
|
|
if ($save['part_a_type'] == 2) { // 2下游推广公司的时候 合作类型是1
|
|
$save['relation']['collaborate_way'] = 1;
|
|
}
|
|
if ($save['part_a_type'] == 1) {
|
|
$save['relation']['self_company_id'] = $save['part_a'];
|
|
}
|
|
if ($save['part_a_type'] == 2) {
|
|
$save['relation']['self_company_id'] = $save['part_b'];
|
|
}
|
|
|
|
$res =D("PartnerVerify")->edit_db($save);
|
|
if ($res === false) {
|
|
$this->error('保存失败');
|
|
} else {
|
|
\Think\Log::actionLog('Partner/edit', 'partner', $id);
|
|
addOperationLog(array(
|
|
"op_type"=>1,
|
|
"key"=>$save['partner'],
|
|
"url"=>U("Partner/lists",array("partner"=>$save['partner']))
|
|
));
|
|
$this->success('保存成功,请联系管理尽快审核', U('index'));
|
|
}
|
|
} else {
|
|
$id = intval(I('get.id', 0));
|
|
$map['id'] = $id;
|
|
$data = $model
|
|
->find($id);
|
|
if (empty($data)) {
|
|
$this->error('数据异常', U('lists'));
|
|
}
|
|
|
|
|
|
if ($data['contract_start_time']) {
|
|
$data['contract_start_time'] = date('Y-m-d', $data['contract_start_time']);
|
|
}else{
|
|
$data['contract_start_time']='';
|
|
}
|
|
if ($data['contract_end_time']) {
|
|
$data['contract_end_time'] = date('Y-m-d', $data['contract_end_time']);
|
|
}else{
|
|
$data['contract_end_time']='';
|
|
}
|
|
|
|
if ($data['validity_start_time']) {
|
|
$data['validity_start_time'] = date('Y-m-d', $data['validity_start_time']);
|
|
}else{
|
|
$data['validity_start_time']='';
|
|
}
|
|
|
|
if ($data['validity_end_time']) {
|
|
$data['validity_end_time'] = date('Y-m-d', $data['validity_end_time']);
|
|
}else{
|
|
$data['validity_end_time']='';
|
|
}
|
|
|
|
$relationWhere = '(first_company_type=1 and first_company_id=' . $data['id'] .
|
|
') or (second_company_type=1 and second_company_id=' . $data['id'] . ')';
|
|
$relation = M('company_relation', 'tab_')->where($relationWhere)->find();
|
|
|
|
if ($relation) {
|
|
if ($relation['first_company_type'] == 1 && $relation['first_company_id'] == $data['id']) {
|
|
$relation['collaborate_way'] = 1;
|
|
$relation['self_company_id'] = $relation['second_company_id'];
|
|
} else {
|
|
$relation['collaborate_way'] = 2;
|
|
$relation['self_company_id'] = $relation['first_company_id'];
|
|
}
|
|
}
|
|
|
|
$selfCompanies = M('company_info', 'tab_')->field('id,partner company_name,link_man,link_phone')->where(['status' => 1])->select();
|
|
|
|
$this->assign('selfCompanies', $selfCompanies);
|
|
$this->assign('relation', $relation);
|
|
$this->assign('data', $data);
|
|
$action = I('action');
|
|
$this->assign('action', $action);
|
|
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Partner/edit'])->find());
|
|
$this->meta_title = $action ? '查看合作方' : '编辑合作方';
|
|
$this->display($action);
|
|
}
|
|
}
|
|
|
|
//删除
|
|
public function del()
|
|
{
|
|
if (!empty($_POST['ids'])) {
|
|
if (!is_array($_POST['ids'])) {
|
|
$this->error('参数异常');
|
|
}
|
|
|
|
$id = implode(',', $_POST['ids']);
|
|
} else {
|
|
$id = intval(I('get.id', 0));
|
|
if ($id == 0) {
|
|
$this->error('参数异常');
|
|
}
|
|
}
|
|
@$yres = M($this->modelName, 'tab_')->field("partner")->find($id)['partner'];
|
|
$res = M($this->modelName, 'tab_')->delete($id);
|
|
if ($res === false) {
|
|
$this->error('删除失败');
|
|
}
|
|
addOperationLog(array(
|
|
"op_type"=>2,
|
|
"key"=>$yres,
|
|
"url"=>U("Partner/lists")
|
|
));
|
|
$this->success('删除成功', U('lists'));
|
|
}
|
|
public function verifyView()
|
|
{
|
|
if(!isset($_REQUEST['id'])) $this->error('数据异常', U('index'));
|
|
$id = $_REQUEST['id'];
|
|
$map['id'] = $id;
|
|
$dbres = M("partner_verify", 'tab_')->find($id);
|
|
$data = json_decode($dbres['partner_info'],true);
|
|
|
|
|
|
if ($data['contract_start_time']) {
|
|
$data['contract_start_time'] = date('Y-m-d', $data['contract_start_time']);
|
|
}else{
|
|
$data['contract_start_time']='';
|
|
}
|
|
if ($data['contract_end_time']) {
|
|
$data['contract_end_time'] = date('Y-m-d', $data['contract_end_time']);
|
|
}else{
|
|
$data['contract_end_time']='';
|
|
}
|
|
|
|
if ($data['validity_start_time']) {
|
|
$data['validity_start_time'] = date('Y-m-d', $data['validity_start_time']);
|
|
}else{
|
|
$data['validity_start_time']='';
|
|
}
|
|
|
|
if ($data['validity_end_time']) {
|
|
$data['validity_end_time'] = date('Y-m-d', $data['validity_end_time']);
|
|
}else{
|
|
$data['validity_end_time']='';
|
|
}
|
|
|
|
$selfCompanies = M('company_info', 'tab_')->field('id,partner company_name,link_man,link_phone')->where(['status' => 1])->select();
|
|
|
|
$this->assign('selfCompanies', $selfCompanies);
|
|
$this->assign('relation', $data['relation'] ?? null);
|
|
|
|
$this->assign('data', $data);
|
|
$this->assign('action', $action);
|
|
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Partner/edit'])->find());
|
|
$this->meta_title ='审核信息查看';
|
|
$this->display("show");
|
|
}
|
|
|
|
public function adminRefuse(){
|
|
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
|
|
$ids = $_REQUEST['ids'];
|
|
$dbres = M("partner_verify", 'tab_')->field("id,verify_status,verify_log")->where("id in ({$ids})")->select();
|
|
foreach($dbres as $k=>&$v){
|
|
if($v['verify_status'] != 0) continue;
|
|
$v['verify_log'] = json_decode($v['verify_log'],true);
|
|
$v['verify_log']['verify_user']=$this->admininfo["username"];
|
|
$v['verify_log']['verify_time']=date("Y-m-d H:i:s");
|
|
$v['verify_log'] = json_encode($v['verify_log']);
|
|
$v['verify_status']=-1;
|
|
$v["create_time"]=time();
|
|
M("partner_verify", 'tab_')->save($v);
|
|
addOperationLog(['op_type'=>1,'key'=>$v['id'],"op_name"=>"管理员审核",'url'=>U('index')]);
|
|
}
|
|
$this->ajaxReturn(array(
|
|
'status' => 1,
|
|
"info"=>"管理员审核拒绝成功"
|
|
));
|
|
}
|
|
|
|
//管理员成功
|
|
public function adminAgree(){
|
|
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
|
|
$ids = $_REQUEST['ids'];
|
|
|
|
$records = M('partner_verify', 'tab_')->field("*")->where("id in ({$ids})")->select();
|
|
|
|
$service = new PartnerService();
|
|
foreach($records as $record) {
|
|
$service->adminAgree($record);
|
|
}
|
|
|
|
$this->ajaxReturn(array(
|
|
'status' => 1,
|
|
"info"=>"管理员审核通过成功"
|
|
));
|
|
}
|
|
|
|
protected function checkData(&$save)
|
|
{
|
|
$partner = trim($save['partner']);
|
|
$status = intval($save['status']);
|
|
|
|
if (empty($partner)) {
|
|
$this->error('请输入合作方名称');
|
|
}
|
|
if (!strlen(I('is_sign_contract'))) {
|
|
$this->error('请选择是否签署合同');
|
|
}
|
|
if (empty(I('company_type'))) {
|
|
$this->error('请输入结算性质');
|
|
}
|
|
if (!strlen(I('has_game_evidence'))) {
|
|
$this->error('请选择是否有游戏资质');
|
|
}
|
|
|
|
$model = M($this->modelName, 'tab_');
|
|
$map['partner'] = $partner;
|
|
$res = $model->where($map)->field("id")->find();
|
|
|
|
if ($res) {
|
|
if(isset($save['id'])){
|
|
if($save['id'] !=$res['id']){
|
|
$this->error('合作方已存在');
|
|
}
|
|
}else{
|
|
$this->error('合作方已存在');
|
|
}
|
|
}
|
|
|
|
// if(!empty(I('link_phone')) && !checkPhone(I('link_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('税费费率格式错误');
|
|
}else{
|
|
$save['taxation_rate'] = ($save['taxation_rate'] ?: 0);
|
|
}
|
|
}else{
|
|
$save['taxation_rate']=0;
|
|
}
|
|
if(!empty(I('channel_rate')) && I('channel_rate') > 0) {
|
|
if(!checkNumber(I('channel_rate'))){
|
|
$this->error('渠道费率格式不对');
|
|
}else{
|
|
$save['channel_rate'] = ($save['channel_rate'] ?: 0);
|
|
}
|
|
}else{
|
|
$save['channel_rate']=0;
|
|
}
|
|
if(!empty(I('invoice_rate')) && I('invoice_rate') > 0) {
|
|
if(!checkNumber(I('invoice_rate'))){
|
|
$this->error('开票税点格式不对');
|
|
}else{
|
|
$save['invoice_rate'] = ($save['invoice_rate'] ?: 0);
|
|
}
|
|
}else{
|
|
$save['invoice_rate']=0;
|
|
}
|
|
if(!empty(I('server_fee')) && !checkNumber(I('server_fee')) && I("has_server_fee") == 1) {
|
|
$this->error('服务器费用格式不对');
|
|
}else{
|
|
if(empty(I('server_fee'))){
|
|
$save['server_fee']=0;
|
|
}else{
|
|
$save['server_fee']=I('server_fee');
|
|
}
|
|
}
|
|
$time = time();
|
|
$save['contract_start_time'] = strtotime($save['contract_start_time']);
|
|
$save['contract_end_time'] = strtotime($save['contract_end_time']);
|
|
$save['validity_start_time'] = strtotime($save['validity_start_time']);
|
|
$save['validity_end_time'] = strtotime($save['validity_end_time']);
|
|
$save['last_up_time'] = $time;
|
|
}
|
|
|
|
public function menuAuth()
|
|
{
|
|
$addurl = U("addRelation");
|
|
$mentBtn = [
|
|
"adminAgree"=>"<a class='butn' id='adminAgree'>管理员审核通过</a>",
|
|
"adminRefuse"=>"<a class='butn' id='adminRefuse' style='background-color: red;'>管理员审核拒绝</a>"
|
|
];
|
|
$resarr = [];
|
|
foreach ($mentBtn as $k => $v) {
|
|
if(IS_ROOT){
|
|
$resarr[] = $v;
|
|
}else{
|
|
if(in_array($k,$this->OpAuthList)){
|
|
$resarr[] = $v;
|
|
}
|
|
}
|
|
}
|
|
return $resarr;
|
|
}
|
|
|
|
protected function getAggregatePackage() {
|
|
|
|
$client = new AggregateClient();
|
|
|
|
$result = $client->api('aggregate-gamename', []);
|
|
|
|
$this->aggregatePackageName = $result['data'];
|
|
|
|
}
|
|
|
|
}
|