|
|
|
<?php
|
|
|
|
// 游戏默认分成比例模板
|
|
|
|
namespace Admin\Controller;
|
|
|
|
|
|
|
|
class GameRatioMouldController extends AdminController
|
|
|
|
{
|
|
|
|
public $admininfo;
|
|
|
|
public $DBModel;
|
|
|
|
public function _initialize()
|
|
|
|
{
|
|
|
|
$this->admininfo = $_SESSION['onethink_admin']['user_auth'];
|
|
|
|
$this->DBModel = M("game_ratio_mould","tab_");
|
|
|
|
parent::_initialize();
|
|
|
|
}
|
|
|
|
|
|
|
|
public function index()
|
|
|
|
{
|
|
|
|
|
|
|
|
$this->display();
|
|
|
|
}
|
|
|
|
|
|
|
|
public function add()
|
|
|
|
{
|
|
|
|
|
|
|
|
if ($_POST) {
|
|
|
|
$params = I('post.');
|
|
|
|
|
|
|
|
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['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();
|
|
|
|
//判断是否存在
|
|
|
|
$where = [
|
|
|
|
"relation_game_id"=>$save['relation_game_id'],
|
|
|
|
"company_belong"=>$save['company_belong']
|
|
|
|
];
|
|
|
|
$hasdb = $this->DBModel->field("count(id) count")->where($where)->find()['count'];
|
|
|
|
if($hasdb > 0){
|
|
|
|
$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')]);
|
|
|
|
$this->ajaxReturn(["msg"=>"添加成功","code"=>1,"url"=>U("index")]);
|
|
|
|
} else {
|
|
|
|
$game_type = M("game_type","tab_")->field("id,type_name")->where("status=1")->select();
|
|
|
|
$this->assign("game_type",$game_type);
|
|
|
|
//渠道类型
|
|
|
|
$this->assign("company_belong",getCompanyBlong());
|
|
|
|
$this->display();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public function edit()
|
|
|
|
{
|
|
|
|
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'));
|
|
|
|
} else {
|
|
|
|
$params = I('get.');
|
|
|
|
$id = $params['id'] ?? 0;
|
|
|
|
$id = intval($id);
|
|
|
|
$companyId = 0;
|
|
|
|
$metaTitle = '游戏分成比例申请';
|
|
|
|
|
|
|
|
$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);
|
|
|
|
}
|
|
|
|
public function error($data)
|
|
|
|
{
|
|
|
|
header('Content-Type:application/json; charset=utf-8');
|
|
|
|
$data =json_encode(['msg'=>$data,"code"=>4000],JSON_UNESCAPED_UNICODE);
|
|
|
|
exit($data);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|