@ -352,7 +352,9 @@ class TestResourceController extends ThinkController
session('apply_status', 0);
session('apply_status', 0);
(empty(I('server_id')) || I('server_id')< 1 ) & & $ this- > error('请选择区服!');;
(empty(I('server_id')) || I('server_id')< 1 ) & & $ this- > error('请选择区服!');;
M('test_resource', 'tab_')->startTrans(); //事物
M()->startTrans(); //事物
$resource = 0;
for ($i=0; $i < $count ; $i++) {
for ($i=0; $i < $count ; $i++) {
$i_account=I('user_account')[$i];
$i_account=I('user_account')[$i];
if (!empty($i_account)) {
if (!empty($i_account)) {
@ -430,7 +432,10 @@ class TestResourceController extends ThinkController
$data['create_time']=time();
$data['create_time']=time();
$data['apply_type']=0;
$data['apply_type']=0;
$data = $this->checkAutoVerify($data, $resource, $i);
$model = M('test_resource', 'tab_')->add($data);
$model = M('test_resource', 'tab_')->add($data);
$resource += $data['apply_resource'];
if ($model) {
if ($model) {
session('apply_status', 1);
session('apply_status', 1);
}
}
@ -457,6 +462,68 @@ class TestResourceController extends ThinkController
}
}
}
}
/**
*判断申请资源是否自动审核
* @param $data array 新增数据
* @param $resource int 此次已申请资源
* @param $thisCount int 批量申请的第几次
*/
private function checkAutoVerify($data, $resource = 0, $thisCount = 0)
{
$config = M('resource_verify_config', 'tab_')
->where(['game_id' => $data['game_id'], 'status' => 1])
->find();
if ($config) {//已存在该游戏的资源审核配置
// var_dump($config);die();
$count = M('test_resource', 'tab_')
->where(['user_id' => $data['user_id'], 'game_id' => $data['game_id']])
->count();
$count += $thisCount;
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_resource']= $data['apply_resource'];
$data['verify_time'] = time();
$data['apply_status'] = 2;
$data['is_new'] = 1;
}
} else {//非新用户
$availableBalance = getAvailableBalance($data['promote_id'],$data['game_id']);
// var_dump($availableBalance);die();
$promoteAllRecharge = sum_promote_total_money($data['promote_id']);//总充值量
$allVerifyValue = $promoteAllRecharge * $config['old_value_ratio'];//可充值总量
//已用资源(申请通过的)
$used_resource = M('test_resource', 'tab_')
->where([
'promote_id' => $data['promote_id'],
'game_id' => $data['game_id'],
'apply_status' => 2,
'is_new' => 2,
])
->getField('SUM(verify_resource) as used_resource');
$used_resource = $used_resource ?: 0;
$usable_resource = $allVerifyValue - $used_resource;//小于等于这个值自动审核
$usable_resource -= $resource;
if ($data['apply_resource'] < = $usable_resource& & $data['apply_resource']< $availableBalance) {
$data['verify_remark'] = '自动审核';
$data['verify_resource']= $data['apply_resource'];
$data['verify_time'] = time();
$data['apply_status'] = 2;
$data['is_new'] = 2;
M('promote_game_available_balance','tab_')
->where(['promote_id'=>$data['promote_id'],'game_id'=>$data['game_id']])
->setDec('available_balance',$data['apply_resource']);
}
}
}
return $data;
}
public function edit() {
public function edit() {
$id = I('id');
$id = I('id');
@ -519,7 +586,8 @@ class TestResourceController extends ThinkController
public function batch_apply(){
public function batch_apply(){
$ids = explode(',', I('id'));
$ids = explode(',', I('id'));
M('test_resource','tab_')->startTrans(); //事物
M()->startTrans(); //事物
$resource = 0;
foreach ($ids as $key => $value) {
foreach ($ids as $key => $value) {
$map['id']=$value;
$map['id']=$value;
@ -575,8 +643,10 @@ class TestResourceController extends ThinkController
$data['create_time']=time();
$data['create_time']=time();
$data['apply_type']=1;
$data['apply_type']=1;
$data = $this->checkAutoVerify($data, $resource, $key);
//
//
$model = M('test_resource','tab_')->add($data);
$model = M('test_resource','tab_')->add($data);
$resource += $data['apply_resource'];
if($model===false){
if($model===false){
M('test_resource','tab_')->rollback();//回滚
M('test_resource','tab_')->rollback();//回滚
$this->error('申请失败');
$this->error('申请失败');