OrderSupplyLogic.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace addons\ScoreMall\common\logic\order;
  3. use addons\Coupon\common\models\AddonsCoupon;
  4. use addons\JuheShop\common\service\OrderService;
  5. use addons\ScoreMall\common\logic\order\marketing\GiveMarketing;
  6. use addons\ScoreMall\common\logic\order\marketing\ScoreMarketing;
  7. use addons\StarChain\common\services\ChainOrderService;
  8. use common\enums\AddonsEnum;
  9. use common\logic\order\BaseOrderMarketing;
  10. use common\logic\order\marketing\BaseMarketing;
  11. use common\logic\order\marketing\CouponMarketing;
  12. use common\logic\order\marketing\FreeShippingMarketing;
  13. use common\models\mall\MallAddons;
  14. use common\traits\ErrorTrait;
  15. /**
  16. * 订单的供应链处理
  17. * @Author bing
  18. * @DateTime 2021-09-22 18:16:58
  19. * @copyright: Copyright (c) 2020 广东七件事集团
  20. */
  21. class OrderSupplyLogic
  22. {
  23. use ErrorTrait;
  24. public function supplyShop($mall_id, $form, $type)
  25. {
  26. switch ($type) {
  27. case 'JuheShop':// 聚合供应链
  28. // 如果商品为聚合供应链商品,聚合供应链处理
  29. if (MallAddons::isInstall($mall_id, 'JuheShop')) {
  30. $service = new OrderService(['mall_id' => $mall_id]);
  31. try {
  32. $form = $service->createBeforeCheck($form);
  33. } catch (\Exception $e) {
  34. $this->setError($e->getMessage());
  35. return false;
  36. }
  37. }
  38. break;
  39. case 'QiJuhe':// 七件事供应链
  40. if (MallAddons::isInstall($mall_id, 'QiJuhe')) {
  41. $service = new \addons\QiJuhe\common\service\OrderService(['mall_id' => $mall_id]);
  42. try {
  43. $form = $service->createBeforeCheck($form);
  44. } catch (\Exception $e) {
  45. $this->setError($e->getMessage());
  46. return false;
  47. }
  48. }
  49. break;
  50. case 'StarChain':// 怡亚通供应链
  51. if (MallAddons::isInstall($mall_id, 'StarChain')) {
  52. $service = new ChainOrderService(['mall_id' => $mall_id]);
  53. try {
  54. $form = $service->createBeforeCheck($form);
  55. } catch (\Exception $e) {
  56. $this->setError($e->getMessage());
  57. return false;
  58. }
  59. }
  60. break;
  61. }
  62. return $form;
  63. }
  64. }