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 @@
-