46 lines
1.7 KiB
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;
|
|
}
|
|
}
|