diff --git a/Application/Admin/Common/extend.php b/Application/Admin/Common/extend.php index ac2b17e4c..c2f3b7db4 100644 --- a/Application/Admin/Common/extend.php +++ b/Application/Admin/Common/extend.php @@ -2199,4 +2199,6 @@ function a_array_unique($array){ return $data; } } + + ?> diff --git a/Application/Admin/Common/function.php b/Application/Admin/Common/function.php index cca1ec6e1..828eff9a7 100644 --- a/Application/Admin/Common/function.php +++ b/Application/Admin/Common/function.php @@ -862,3 +862,27 @@ function convertAmountToCn($num) { function checkPhone($phone) { return preg_match("/^1[3456789]\d{9}$/",$phone); } + +//获取sdk类型名称 +function getSDKTypeName($sdkType, $chinese = false) +{ + $android = 'Android'; + + if ($chinese) { + $android = '安卓'; + } + + switch ($sdkType) { + case 0: + $sdkName = $android . '+ios'; + break; + case 1: + $sdkName = $android; + break; + case 2: + $sdkName = 'ios'; + break; + } + + return $sdkName; +} diff --git a/Application/Admin/Controller/ResourceVerifyConfigController.class.php b/Application/Admin/Controller/ResourceVerifyConfigController.class.php new file mode 100644 index 000000000..344b27b44 --- /dev/null +++ b/Application/Admin/Controller/ResourceVerifyConfigController.class.php @@ -0,0 +1,263 @@ +modelName, 'tab_'); + $map = []; + if (!empty(I('game_name'))) { + $map['game_name'] = I('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; + } + + //获取分页数据 + $query = $model + ->field("id,game_id,game_name,sdk_version,new_apply_count,new_low_value,new_high_value, + old_value_ratio,status,update_time") + ->where($map) + ->order("id desc"); + $data = $query + ->page($page,$row) + ->select(); + foreach ($data as $key => $value) { + $data[$key]['sdk_version'] = getSDKTypeName($value['sdk_version'], true); + $data[$key]['new_low_value'] = floatval($value['new_low_value']); + $data[$key]['new_high_value'] = floatval($value['new_high_value']); + $data[$key]['old_value_ratio'] *= 100; + $data[$key]['status'] = $value['status'] ? '正常' : '锁定'; + $data[$key]['update_time'] = $value['update_time'] ? set_show_time($value['update_time']) : '-'; + } + + /* 查询记录总数 */ + $count = $model + ->where($map) + ->count(); + //分页 + $parameter['p'] = $page; + $parameter['row'] = $row; + $page = set_pagination($count, $row, $parameter); + if ($page) { + $this->assign('_page', $page); + } + + $this->assign('listData', $data); + $this->assign('count', $count); + $this->meta_title = '资源审核配置'; + $this->display(); + } + + //根据游戏与终端判断该资源审核配置是否已存在 + private function check($game_name, $sdk_version) + { + $check['status'] = 1; + $check['errmsg'] = 'success'; + if ($sdk_version == 1 || $sdk_version == 2) { + $res = DM('resource_verify_config') + ->where(['game_name' => $game_name, 'sdk_version' => $sdk_version]) + ->count(); + if ($res) { + $check['errmsg'] = '该终端已存在'; + $check['status'] = 0; + } + } else { + $res = DM('resource_verify_config') + ->where(['game_name' => $game_name]) + ->count(); + if ($res) { + $check['errmsg'] = '已存在该游戏的资源审核配置'; + $check['status'] = 0; + } + } + return $check; + } + + //添加 + public function add() + { + if ($_POST) { +// dd($_REQUEST); + if (empty(I('game_name'))) { + $this->error('请选择游戏'); + } + if (!strlen(I('sdk_version'))) { + $this->error('请选择终端'); + } + $check = $this->check(I('game_name'), I('sdk_version')); + if ($check['status'] == 0) { + $this->error($check['errmsg']); + } + if (I('new_apply_count') < 0) { + $this->error('新用户判断标准不能小于0'); + } + if (I('new_low_value') < 0) { + $this->error('最低申请额度不能小于0'); + } + if (I('new_high_value') < 0) { + $this->error('最高申请额度不能小于0'); + } + if (I('new_low_value') >= I('new_high_value')) { + $this->error('最低申请额度不能高于或等于最高申请额度'); + } + if (I('old_value_ratio')<0 || I('old_value_ratio') > 100) { + $this->error('可申请额度占总充值量的比例必须在0-100之间'); + } + $game_name = trim(I('game_name')); + $model = M($this->modelName, 'tab_'); + $save['game_name'] = $game_name; + $save['sdk_version'] = I('sdk_version'); + $save['new_apply_count'] = I('new_apply_count'); + $save['new_low_value'] = I('new_low_value'); + $save['new_high_value'] = I('new_high_value'); + $save['old_value_ratio'] = I('old_value_ratio')/100; + + $save['status'] = 0; + $save['add_time'] = time(); + $save['update_time'] = time(); + $save['uid'] = UID; + if ($save['sdk_version'] == 0) { + $game_ids = DM('game')->where(['relation_game_name' => I('game_name')])->field('id,sdk_version')->select(); + $saveAll = array(); + foreach ($game_ids as $item) { + $save['game_id'] = $item['id']; + $save['sdk_version'] = $item['sdk_version']; + $saveAll[] = $save; + } + } else { + $game_id = DM('game')->where(['relation_game_name' => I('game_name'), 'sdk_version' => I('sdk_version')])->getField('id'); + $save['game_id'] = $game_id; + $saveAll[] = $save; + } + $res = $model->addAll($saveAll); + if ($res) { + $this->success('保存成功', U('lists')); + } else { + $this->error('保存失败'); + } + } else { + $this->meta_title = '新增资源审核配置'; + $this->display(); + } + } + + //编辑 + public function edit() + { + $model = M($this->modelName, 'tab_'); + + if ($_POST) { + /* if (empty(I('game_name'))) { + $this->error('请选择游戏'); + } + if (!strlen(I('sdk_version'))) { + $this->error('请选择终端'); + } + $check = $this->check(I('game_name'), I('sdk_version')); + if ($check['status'] == 0) { + $this->error($check['errmsg']); + }*/ + if (I('new_apply_count') < 0) { + $this->error('新用户判断标准不能小于0'); + } + if (I('new_low_value') < 0) { + $this->error('最低申请额度不能小于0'); + } + if (I('new_high_value') < 0) { + $this->error('最高申请额度不能小于0'); + } + if (I('new_low_value') >= I('new_high_value')) { + $this->error('最低申请额度不能高于或等于最高申请额度'); + } + if (I('old_value_ratio')<0 || I('old_value_ratio') > 100) { + $this->error('可申请额度占总充值量的比例必须在0-100之间'); + } + $model = M($this->modelName, 'tab_'); +// $save['game_id'] = I('game_id'); +// $save['game_name'] = trim(I('game_name')); +// $save['sdk_version'] = I('sdk_version'); + $save['new_apply_count'] = I('new_apply_count'); + $save['new_low_value'] = I('new_low_value'); + $save['new_high_value'] = I('new_high_value'); + $save['old_value_ratio'] = I('old_value_ratio')/100; + +// $save['status'] = 0; + $save['update_time'] = time(); + $save['id'] = I('id'); + $res = $model->save($save); + if ($res) { + $this->success('保存成功', U('lists')); + } else { + $this->error('保存失败'); + } + } else { + $id = intval(I('get.id', 0)); + $map['id'] = $id; + $data = $model + ->find($id); + $data['old_value_ratio'] *= 100;//存的是小数,显示百分比 + $data['game_name'] = trim($data['game_name']); +// dd($data); + $this->assign('data', $data); + $action = I('action'); + $this->assign('action', $action); + $this->meta_title = '编辑资源审核配置'; + $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('参数异常'); + } + } + + $res = M($this->modelName, 'tab_')->delete($id); + if ($res === false) { + $this->error('删除失败'); + } + + $this->success('删除成功', U('lists')); + } + + public function updateStatus() + { + $save['status'] = I('status'); + $save['id']= I('id'); + $res = M($this->modelName, 'tab_')->save($save); + if ($res === false) { + $this->error('操作失败'); + } + $this->success('操作成功', U('lists')); + } + + + +} diff --git a/Application/Admin/View/ResourceVerifyConfig/add.html b/Application/Admin/View/ResourceVerifyConfig/add.html new file mode 100644 index 000000000..ecf97c301 --- /dev/null +++ b/Application/Admin/View/ResourceVerifyConfig/add.html @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
*游戏名称: + + +
终端 + + + + + + + + + + + +
*新用户判断标准(说明第几次之前为新用户)(次): + +
新用户资源最低申请额度(/个): + +
新用户资源最高申请额度(/个): + +
非新用户可申请额度占总充值量的比例(%): + +
+
+
+ + + 返回 + +
+
+
+
+ + +
+ + + + + + + diff --git a/Application/Admin/View/ResourceVerifyConfig/edit.html b/Application/Admin/View/ResourceVerifyConfig/edit.html new file mode 100644 index 000000000..c15f37fb3 --- /dev/null +++ b/Application/Admin/View/ResourceVerifyConfig/edit.html @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
*游戏名称: + + +
终端 + + + + + + + + + + + +
*新用户判断标准(说明第几次之前为新用户)(次): + +
新用户资源最低申请额度(/个): + +
新用户资源最高申请额度(/个): + +
非新用户可申请额度占总充值量的比例(%): + +
+
+
+ + + 返回 + +
+ +
+
+
+ + +
+ + + + + + + diff --git a/Application/Admin/View/ResourceVerifyConfig/lists.html b/Application/Admin/View/ResourceVerifyConfig/lists.html new file mode 100644 index 000000000..9405580fc --- /dev/null +++ b/Application/Admin/View/ResourceVerifyConfig/lists.html @@ -0,0 +1,241 @@ + + + + + + + + + + + +
+
+
+ 新增 + 删除 +
+
+
+
+ +
+ +
+ +
+ +
+ 搜索 +
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + 序号游戏名终端新用户判断标准(说明第几次之前为新用户)(次)新用户资源最低申请额度(/个)新用户资源最高申请额度(/个)非新用户可申请额度占总充值量的比例(%)状态更新时间操作
aOh! 暂时还没有内容!
{$data.id}{$data.game_name}{$data.sdk_version}{$data.new_apply_count}{$data.new_low_value}{$data.new_high_value}{$data.old_value_ratio}style="color: red">{$data.status}{$data.update_time} + 编辑 + + 锁定 + + 解锁 + + 删除 +
+
+
+
+ {$_page|default=''} +
+ + + +
+ + + + + + + + + diff --git a/Application/Home/Controller/TestResourceController.class.php b/Application/Home/Controller/TestResourceController.class.php index 908f068f2..31e844304 100644 --- a/Application/Home/Controller/TestResourceController.class.php +++ b/Application/Home/Controller/TestResourceController.class.php @@ -426,7 +426,7 @@ class TestResourceController extends BaseController $data['create_time']=time(); $data['apply_type']=0; - + $data = $this->checkAutoVerify($data); $model = M('test_resource', 'tab_')->add($data); if ($model) { session('apply_status', 1); @@ -449,6 +449,39 @@ class TestResourceController extends BaseController $this->display(); } } + + /** + *判断申请资源是否自动审核 + */ + private function checkAutoVerify($data) + { + $config = M('resource_verify_config', 'tab_') + ->where(['game_id' => $data['game_id'], 'status' => 1]) + ->find(); + if ($config) {//已存在该游戏的资源审核配置 + $count = M('test_resource', 'tab_') + ->where(['user_id' => $data['user_id'], 'game_id' => $data['game_id']]) + ->count(); + if ($count < $config['new_apply_count']) {//新用户 + //申请资源数量在最低额度和最高额度之间,自动审核 + if ($data['apply_resource'] >= $config['new_low_value'] && $data['apply_resource'] <= $config['new_high_value']) { + $data['verify_remark'] = '自动审核'; + $data['verify_time'] = time(); + $data['apply_status'] = 2; + } + } else {//非新用户 + $promoteAllRecharge = sum_promote_total_money($data['promote_id']);//总充值量 + $autoVerifyValue = $promoteAllRecharge * $config['old_value_ratio']; + if ($data['apply_resource'] <= $autoVerifyValue) { + $data['verify_remark'] = '自动审核'; + $data['verify_time'] = time(); + $data['apply_status'] = 2; + } + } + } + return $data; + } + //修改申请 public function apply_edit(){ $user=M('user','tab_')->field('password')->where(['account'=>I('user_account')])->find(); diff --git a/Data/update.sql b/Data/update.sql index ab5e14e49..91f0c8586 100644 --- a/Data/update.sql +++ b/Data/update.sql @@ -1360,4 +1360,20 @@ INSERT INTO `platform`.`tab_tool`( `name`, `title`, `config`, `template`, `type` -- 身份证记录添加info字段 ALTER TABLE `tab_idcard_log` -ADD COLUMN `info` varchar(255) DEFAULT '' COMMENT '第三方接口返回信息'; \ No newline at end of file +ADD COLUMN `info` varchar(255) DEFAULT '' COMMENT '第三方接口返回信息'; +--2020-02-25 资源审核配置-- liuweiwen +CREATE TABLE `tab_resource_verify_config` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `game_id` int(11) NOT NULL COMMENT '游戏id', + `game_name` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '游戏名称', + `sdk_version` tinyint(2) DEFAULT NULL COMMENT '区别版本 1安卓 2苹果 0 双版本', + `new_apply_count` int(4) DEFAULT '0' COMMENT '新用户判断标准(申请次数不大于此值)', + `new_low_value` decimal(20,2) DEFAULT '0.00' COMMENT '新用户资源最低申请额度', + `new_high_value` decimal(20,2) DEFAULT '0.00' COMMENT '新用户资源最高申请额度', + `old_value_ratio` varchar(5) COLLATE utf8mb4_bin DEFAULT '0' COMMENT '非新用户可申请额度占总充值量的比例', + `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态:0-锁定;1-正常', + `uid` int(11) DEFAULT '0' COMMENT '后台操作员id', + `add_time` int(11) DEFAULT '0' COMMENT '新增时间', + `update_time` int(11) DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='资源审核配置';