diff --git a/Application/Admin/Controller/GameRatioMouldController.class.php b/Application/Admin/Controller/GameRatioMouldController.class.php index 902800cca..7e3e65e17 100644 --- a/Application/Admin/Controller/GameRatioMouldController.class.php +++ b/Application/Admin/Controller/GameRatioMouldController.class.php @@ -15,7 +15,55 @@ class GameRatioMouldController extends AdminController public function index() { + $params = I('get.'); + $page = $params['p'] ? intval($params['p']) : 1; + $row = $params['row'] ? intval($params['row']) : 10; + //查询数据 + //获取游戏id + $gamewhere['_string'] = '1 = 1'; + $where['_string'] = '1 = 1'; + if(isset($params['relation_game_id'])){ + $gamewhere['relation_game_id'] = $params['relation_game_id']; + $where['m.relation_game_id'] = $params['relation_game_id']; + } + if(isset($params['game_type_id'])){ + $gamewhere['game_type_id'] = $params['game_type_id']; + } + if(isset($params['company_belong'])){ + $where['m.company_belong'] = $params['company_belong']; + } + $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 = $this->DBModel->alias('m')->join("LEFT JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id")->where($where)->order('create_time desc, id desc')->page($page, $row)->select(); + foreach($dbres as $k=>&$v){ + $v['create_time'] = date("Y-m-d H:i:s",$v['create_time']); + $v['company_belong'] = getCompanyBlong($v['company_belong']); + + $thisTurnoverRatios = $v['turnover_ratio'] ? json_decode($v['turnover_ratio'], true) : []; + $thisRatioDtl = "默认:{$v['ratio']}%"; + if ($thisTurnoverRatios) { + if (I('export', 0) == 1) { + $symbol = "\n"; + } else { + $symbol = "
"; + } + foreach ($thisTurnoverRatios as $thisTurnoverRatio) { + $thisIntervalClosedStatusText = isset($thisTurnoverRatio['instanceof']) ? ($thisTurnoverRatio['instanceof'] == 1 ? '≥' : '>') : '≥'; + $thisRatioDtl .= "{$symbol}月流水{$thisIntervalClosedStatusText}{$thisTurnoverRatio['turnover']},比例:{$thisTurnoverRatio['ratio']}%"; + } + } + $v['turnover_ratio_str'] = $thisRatioDtl; + } + $count = $this->DBModel->alias('m')->field("count(id) count")->join("LEFT JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id")->where($where)->find()['count']; + $this->assign('data', $dbres); + $page = set_pagination($count, $row); + if($page) { + $this->assign('_page', $page); + } + $this->assign('gameList', getAllGameList(true)); + $this->assign('gameTypeList', getGameTypes()); + $this->assign("company_belong",getCompanyBlong()); $this->display(); } @@ -28,57 +76,13 @@ class GameRatioMouldController extends AdminController if (!isset($params['ratio']) || $params['ratio'] === '') { $this->error('默认分成比例不能为空'); } - $save['turnover_ratio'] = []; - if (!empty(array_filter($params['turnover'])) || !empty(array_filter($params['turnover_ratio'])) ) { - if (is_array($params['turnover']) && is_array($params['turnover_ratio']) && is_array($params['instanceof'])) { - foreach ($params['turnover'] as $turnover) { - if (empty($turnover)) { - $this->error('月流水不能为空'); - } - } - foreach ($params['turnover_ratio'] as $turnoverRatio) { - if (empty($turnoverRatio)) { - $this->error('月流水分成比例不能为空'); - } - } - foreach ($params['instanceof'] as $intervalClosedStatus) { - if (!in_array($intervalClosedStatus, [1, 2])) { - $this->error('月流水分符号不能为空'); - } - } - $turnoverCount = count($params['turnover']); - $sortTurnover = $params['turnover']; - sort($sortTurnover); - if ($params['turnover'] != $sortTurnover || $turnoverCount != count(array_unique($params['turnover']))) { - $this->error('月流水必须以正序的方式填写,且必须大于上一个月流水'); - } - $ratio = $params['ratio'] ?? 0; - if ($params['turnover_ratio'][0] <= $ratio) { - $this->error('月流水分成比例必须大于默认分成比例'); - } - $turnoverRatioCount = count($params['turnover_ratio']); - $sortTurnoverRatio = $params['turnover_ratio']; - sort($sortTurnoverRatio); - if ($params['turnover_ratio'] != $sortTurnoverRatio || $turnoverRatioCount != count(array_unique($params['turnover_ratio']))) { - $this->error('月流水分成比例必须以正序的方式填写,且必须大于上一个月流水分成比例'); - } - - foreach ($params['turnover'] as $key => $turnover) { - $save['turnover_ratio'][] = [ - 'turnover' => bcdiv($turnover, 1, 2), - 'ratio' => bcdiv($params['turnover_ratio'][$key], 1, 2), - 'instanceof' => (isset($params['instanceof'][$key]) ? $params['instanceof'][$key] : 1), - ]; - } - $save['turnover_ratio'] = json_encode($save['turnover_ratio']); - } - } + $save['turnover_ratio'] = $this->setTurnoverRatio($params); $save['ratio'] = $params['ratio'] ?? 0; $save['relation_game_id'] = $params['relation_game_id'] ?? 0; $save['company_belong'] = $params['company_belong'] ?? 3; $save["admin_name"]=$this->admininfo["username"]; $save["admin_id"]=$this->admininfo["uid"]; - $save["create_time"]=\time(); + $save["create_time"]=time(); //判断是否存在 $where = [ "relation_game_id"=>$save['relation_game_id'], @@ -89,8 +93,8 @@ class GameRatioMouldController extends AdminController $this->error('该游戏与该公司类型的模板已经存在,请搜索后编辑'); } //保存 - $this->DBModel->add($save); - addOperationLog(['op_type'=>1,'key'=>getPromoteName($promoteGameRatio['promote_id']).'/'.getrelationGameName($promoteGameRatio['game_id']),'op_name'=>'新增游戏分成比例模板','url'=>U('GameRatioMould/index')]); + $id = $this->DBModel->add($save); + addOperationLog(['op_type'=>1,'key'=>$id,'op_name'=>'新增游戏分成比例模板','url'=>U('GameRatioMould/index')]); $this->ajaxReturn(["msg"=>"添加成功","code"=>1,"url"=>U("index")]); } else { $game_type = M("game_type","tab_")->field("id,type_name")->where("status=1")->select(); @@ -104,22 +108,33 @@ class GameRatioMouldController extends AdminController { if ($_POST) { $params = I('post.'); - addOperationLog(['op_type'=>1,'key'=>getPromoteName($promoteGameRatio['promote_id']).'/'.getrelationGameName($promoteGameRatio['game_id']),'op_name'=>'修改游戏分成比例申请','url'=>U('PromoteGameRatio/applyRatio',['id'=>$promoteGameRatio['id']]),'menu'=>'推广员-结算单管理-公会分成管理']); - $this->success('保存成功', U('lists')); + if(!isset($params['id'])){ + $this->error('参数错误'); + } + $save['ratio'] = $params['ratio'] ?? 0; + $save['id'] = $params['id']; + $save["create_time"]=time(); + $save['turnover_ratio'] = $this->setTurnoverRatio($params); + + $this->DBModel->save($save); + addOperationLog(['op_type'=>2,'key'=>$save['id'],'op_name'=>'修改游戏分成比例模板','url'=>U('PromoteGameRatio/index')]); + $this->ajaxReturn(["msg"=>"修改成功","code"=>1,"url"=>U("index")]); } else { $params = I('get.'); $id = $params['id'] ?? 0; $id = intval($id); - $companyId = 0; - $metaTitle = '游戏分成比例申请'; - + $map['id'] = $id; + $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 = $this->DBModel->alias('m')->join("LEFT JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id")->where($map)->find(); + $dbres['turnover_ratio'] = $dbres['turnover_ratio'] ? json_decode($dbres['turnover_ratio'], true) : $dbres['turnover_ratio']; + $dbres['company_belong'] = getCompanyBlong($dbres['company_belong']); + $this->assign('data', $dbres); $this->display(); } } //基础信息获取 public function getGames() { - $level = 1; $gameTypeId = intval(I('game_type_id', 0)); $games = M("game","tab_")->field("relation_game_id,relation_game_name,original_package_name")->where("game_type_id = '{$gameTypeId}'")->group("relation_game_name")->select(); $this->ajaxReturn($games); @@ -130,6 +145,56 @@ class GameRatioMouldController extends AdminController $data =json_encode(['msg'=>$data,"code"=>4000],JSON_UNESCAPED_UNICODE); exit($data); } + public function setTurnoverRatio($params) + { + $save['turnover_ratio'] = []; + if (!empty(array_filter($params['turnover'])) || !empty(array_filter($params['turnover_ratio'])) ) { + if (is_array($params['turnover']) && is_array($params['turnover_ratio']) && is_array($params['instanceof'])) { + foreach ($params['turnover'] as $turnover) { + if (empty($turnover)) { + $this->error('月流水不能为空'); + } + } + foreach ($params['turnover_ratio'] as $turnoverRatio) { + if (empty($turnoverRatio)) { + $this->error('月流水分成比例不能为空'); + } + } + foreach ($params['instanceof'] as $intervalClosedStatus) { + if (!in_array($intervalClosedStatus, [1, 2])) { + $this->error('月流水分符号不能为空'); + } + } + $turnoverCount = count($params['turnover']); + $sortTurnover = $params['turnover']; + sort($sortTurnover); + if ($params['turnover'] != $sortTurnover || $turnoverCount != count(array_unique($params['turnover']))) { + $this->error('月流水必须以正序的方式填写,且必须大于上一个月流水'); + } + $ratio = $params['ratio'] ?? 0; + if ($params['turnover_ratio'][0] <= $ratio) { + $this->error('月流水分成比例必须大于默认分成比例'); + } + $turnoverRatioCount = count($params['turnover_ratio']); + $sortTurnoverRatio = $params['turnover_ratio']; + sort($sortTurnoverRatio); + if ($params['turnover_ratio'] != $sortTurnoverRatio || $turnoverRatioCount != count(array_unique($params['turnover_ratio']))) { + $this->error('月流水分成比例必须以正序的方式填写,且必须大于上一个月流水分成比例'); + } + + foreach ($params['turnover'] as $key => $turnover) { + $save['turnover_ratio'][] = [ + 'turnover' => bcdiv($turnover, 1, 2), + 'ratio' => bcdiv($params['turnover_ratio'][$key], 1, 2), + 'instanceof' => (isset($params['instanceof'][$key]) ? $params['instanceof'][$key] : 1), + ]; + } + $save['turnover_ratio'] = json_encode($save['turnover_ratio']); + } + } + return $save['turnover_ratio']; + + } } \ No newline at end of file diff --git a/Application/Admin/View/GameRatioMould/add.html b/Application/Admin/View/GameRatioMould/add.html index 106fc7ef0..2b85ce4c9 100644 --- a/Application/Admin/View/GameRatioMould/add.html +++ b/Application/Admin/View/GameRatioMould/add.html @@ -170,7 +170,6 @@ -
+ + 返回 + +
+ + + + +
+ +
+ + +
+ 已添加添加至常用设置 +
+ + + + + + if(C('COLOR_STYLE')=='blue_color') echo ''; + + + + + + + diff --git a/Application/Admin/View/GameRatioMould/index.html b/Application/Admin/View/GameRatioMould/index.html index f53d797c6..09c118862 100644 --- a/Application/Admin/View/GameRatioMould/index.html +++ b/Application/Admin/View/GameRatioMould/index.html @@ -51,13 +51,7 @@
- - 游戏分成比例申请 - - 审核通过 - 审核拒绝 - - + 游戏分成比例申请
@@ -65,29 +59,7 @@
-
- -
-
- -
-
- -
+
- - +
-
- + + + +
+
- 搜索 + 搜索
@@ -127,37 +101,32 @@ - 会长ID - 会长账号 - 手机号码 - 注册时间 - 状态 - 身份状态 - 推广公司 - 工会归属 - 已申请游戏 游戏类型 - 原分成比例 - 公会阶梯比例详细信息 - 开始时间 - 备注 - 分成比例审核 - 申请人 - 确认人 - - 操作 - + + 现包名 + + 原包名 + + 公司类型 + + 比例分成 + + 时间 + + 操作人 + + 操作 - + aOh! 暂时还没有内容! - + @@ -166,32 +135,26 @@ - {$record.promote_id} - {$record.promote_account} - {$record.promote_mobile_phone} - {$record.promote_create_time} - {$record.promote_status_text} - {$record.promote_ver_status_text} - {$record.company_name} - {$record.company_belong} - {$record.game_name} - {$record.game_type_name} - {$record.last_ratio} + {$data.game_type_name} + {$data.relation_game_name} + {$data.original_package_name} + + 下游{$data.company_belong} +
- {$record.ratio_dtl} + {$data.turnover_ratio_str}
- {$record.valid_date} - {$record.remark} - {$record.status_text} - {$record.applicant} - {$record.reviewer} - - - 修改 - - + + {$data.create_time} + + {$data.admin_name} + + + 修改 + 删除 +
@@ -208,16 +171,6 @@
{$_page|default=''} - -
- -
- - -
- 已添加添加至常用设置 -
-