redis->rPop($key,'system'); if (empty($one)){ continue; } $ossIds[] = $one; } if (count($ossIds) == 0) { // $this->log->notice(__CLASS__.':success:无根据id删除的列表'); return; } $ossObjectModel = new OssObject(); //获取url列表用于删除oss $urlList = $ossObjectModel->whereIn('id', $ossIds)->pluck('url'); if (empty($urlList)){ $this->log->error(__CLASS__.':删除内容关联失败,无法获取url!'); return; } if(count($urlList->toArray()) != count($ossIds)) { $this->log->error(__CLASS__.':删除内容关联失败,url数量与id数量不一致!'); return; } // 删除oss图片 $res = $ossObjectModel->whereIn('id', $ossIds)->delete(); if (!$res) { $this->log->error(__CLASS__.':删除内容关联失败,删除sql执行失败!'); return; } //删除oss资源 //把图片地址丢到删除redis队列 foreach ($urlList as $item) { $this->redis->lPush(CommonRedisKey::getDeleteOssImgListByUrl(), $item,'system'); } $this->log->notice(__CLASS__.':success:删除oss文件个数:' . count($ossIds)); }catch (\Exception $e){ $this->log->error(__CLASS__.':'.$e->getMessage()); return; } } }