Files
yuyin-php/application/admin/model/UserPlayerOrder.php

46 lines
1.7 KiB
PHP

<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class UserPlayerOrder extends Model
{
public function close_palyer_order()
{
$player_order_close_max_time = get_system_config('player_order_close_max_time');
$close_time = time() - $player_order_close_max_time; //30分钟自动关闭订单
$map = [];
$map[] = ['status', '=', 1];
$map[] = ['is_over', '=', 1];
$map[] = ['add_time', '<', $close_time];
$list = db::name('user_player_order')->where($map)->select();
foreach ($list as $k => $v) {
Db::startTrans();
try {
$data = [];
$data['oid'] = $v['oid'];
$data['is_over'] = 2;
$data['over_close_time'] = time();
$reslut = db::name('user_player_order')->update($data);
if (!$reslut) {
Db::rollback();
return ['code' => 201, 'msg' => '请重试', 'data' => null];
}
//用户积分返回
$reslut = model('admin/User')->change_user_money_by_uid($v['uid'], $v['total_amount'], 2, 3, "陪玩订单超时退款:" . $v['order_sn'], $v['player_uid'], $v['oid']);
if ($reslut['code'] != 200) {
Db::rollback();
return ['code' => 201, 'msg' => '请重试', 'data' => null];
}
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
return ['code' => 201, 'msg' => "请重试", 'data' => null];
}
}
return date('Y-m-d H:i:s') . 'success' . PHP_EOL;
}
}