id; } $query = ProductSku::query()->whereIn('id', $ids)->where('verify_state', 0)->whereNull('release_at'); //执行上架审核动作 $query->update([ 'verify_state'=> 1, ]); ProductSkuVerify::query()->insert(array_map(function ($key) use ($nowTime) { return [ 'sku_id' => $key, 'applicant_id'=> Admin::user()->id, 'created_at' => $nowTime, 'updated_at' => $nowTime, ]; }, $ids)); } /** * SKU下架操作 * * @param array|ProductSku $ids * @return void */ public static function skuDown(array|ProductSku $ids) { if ($ids instanceof ProductSku) { $ids[] = $ids->id; } $query = ProductSku::query()->whereIn('id', $ids)->where('verify_state', 0)->whereNotNull('release_at'); //执行下架动作 $query->update([ 'release_at'=> null, ]); } /** * 取消SKU上架申请 * * @param array|ProductSku $ids * @return void */ public static function releaseCancel(array|ProductSku $ids) { if ($ids instanceof ProductSku) { $ids[] = $ids->id; } $query = ProductSku::query()->whereIn('id', $ids)->where('verify_state', 1)->whereNull('release_at'); //执行取消上架申请 $query->update([ 'verify_state'=> 0, ]); ProductSkuVerify::whereIn('sku_id', $ids)->where('status', 0)->update(['status'=>3]); } /** * 审核SKU * * @param array $ids * @param integer $status * @param string $remarks * @return void */ public static function skuVerify(array $ids, int $status, ?string $remarks) { //获得审核中商品 $query = ProductSku::query()->whereIn('id', $ids)->where('verify_state', 1)->whereNull('release_at'); switch ($status) { case 1://成功 $query->update([ 'verify_state'=> 0, 'release_at'=>now(), ]); break; case 2://失败 $query->update([ 'verify_state'=> 2, ]); break; default: break; } ProductSkuVerify::whereIn('sku_id', $ids)->where('status', 0)->update([ 'reviewer_id' => Admin::user()->id, 'status'=>$status, 'remarks'=>$remarks, ]); return; } }