GoodsIdFilter.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace common\globals\goods;
  3. use common\globals\BaseGlobal;
  4. use common\models\mall\MallAddons;
  5. /**
  6. *
  7. */
  8. class GoodsIdFilter extends BaseGlobal
  9. {
  10. /**
  11. * @param array $invokes
  12. * @param array $params
  13. * @return array
  14. */
  15. public function handleGoodsIdFilter($invokes, $params = [])
  16. {
  17. if (!isset($params['goods_id'])) return [];
  18. $data = $params['goods_id'];
  19. foreach ($invokes as $invoke) {
  20. // 检查是否安装插件
  21. $is_install = MallAddons::isInstall($params['mall_id'], $invoke['addons_name']);
  22. if (!$is_install) continue;
  23. $item = $this->invoke($invoke['class'], $invoke['method'], $params);
  24. if (!is_array($item)) continue;
  25. $data = array_intersect($data, $item);
  26. }
  27. return ['goods_ids' => $data];
  28. //return $data;
  29. }
  30. /**
  31. * 验证调用结果
  32. * @param mixed $data
  33. * @return boolean
  34. */
  35. protected function validateDataFormat($data = null): bool
  36. {
  37. return true;
  38. }
  39. }