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.

264 lines
9.0 KiB
PHP

<?php
namespace Admin\Controller;
/**
* 资源审核配置控制器
* @author lww
*/
class ResourceVerifyConfigController extends ThinkController
{
private $modelName = 'ResourceVerifyConfig';
//列表
public function lists()
{
$model = M($this->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'));
}
}