Factory.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. *
  4. * @copyright ©2020 点小铺
  5. * @author hanj
  6. * @link: https://dyuit.com
  7. * Created by VSCode
  8. */
  9. namespace app\common\service\goods\source;
  10. use app\common\service\Basics;
  11. use app\common\enum\order\OrderSource as OrderSourceEnum;
  12. /**
  13. * 商品来源工厂类
  14. * Class Factory
  15. * @package app\common\service\stock
  16. */
  17. class Factory extends Basics
  18. {
  19. // 订单来源的结算台服务类
  20. private static $class = [
  21. OrderSourceEnum::MASTER => 'Master',
  22. OrderSourceEnum::BARGAIN => 'Bargain',
  23. OrderSourceEnum::SHARP => 'Sharp',
  24. ];
  25. /**
  26. * 根据订单来源获取商品库存类
  27. * @param int $orderSource
  28. * @return mixed
  29. */
  30. public static function getFactory($orderSource = OrderSourceEnum::MASTER)
  31. {
  32. static $classObj = [];
  33. if (!isset($classObj[$orderSource])) {
  34. $className = __NAMESPACE__ . '\\' . static::$class[$orderSource];
  35. $classObj[$orderSource] = new $className();
  36. }
  37. return $classObj[$orderSource];
  38. }
  39. }