ContactCustomerService.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: yunzhong
  5. * Date: 2018/12/17
  6. * Time: 19:58
  7. */
  8. namespace app\frontend\modules\order\operations\member;
  9. use app\frontend\modules\order\operations\OrderOperation;
  10. use app\frontend\modules\member\controllers\ServiceController;
  11. use Yunshop\Supplier\admin\models\Supplier;
  12. use Yunshop\Supplier\common\models\SupplierOrder;
  13. class ContactCustomerService extends OrderOperation
  14. {
  15. public function getApi()
  16. {
  17. //todo 因门店订单需要返回门店客服链接,没办法
  18. if (app('plugins')->isEnabled('store-cashier') && $this->order->plugin_id == 32) {
  19. $storeOrder = \Yunshop\StoreCashier\common\models\StoreOrder::select('store_id')->where('order_id', $this->order->id)->first();
  20. if ($storeOrder) {
  21. $customer_service = (new ServiceController())->store_set($storeOrder->store_id, request()->type);
  22. if ($customer_service['mark']) {
  23. return $customer_service['cservice'];
  24. } else {
  25. $service = \Yunshop\StoreCashier\store\models\StoreService::select('service')->where('store_id', $storeOrder->store_id)->first();
  26. if ($service->service) {
  27. return $service->service;
  28. }
  29. }
  30. }
  31. }
  32. if (app('plugins')->isEnabled('supplier') && $this->order->plugin_id == 92) {
  33. $supplierOrder = SupplierOrder::select('supplier_id')->where('order_id', $this->order->id)->first();
  34. if ($supplierOrder) {
  35. $supplier = Supplier::getSupplierById($supplierOrder->supplier_id);
  36. $supplierSet = (new ServiceController())->supplier_set($supplier->uid, request()->type);
  37. //先将门店单独客服设置的cservice取出
  38. if($supplierSet['cservice']) {
  39. return $supplierSet['cservice'];
  40. }
  41. }
  42. }
  43. //新加客服插件
  44. if (app('plugins')->isEnabled('customer-service')) {
  45. $set = array_pluck(\Setting::getAllByGroup('customer-service')->toArray(), 'value', 'key');
  46. if ($set['is_open'] == 1) {
  47. if (request()->type == 2) {
  48. return $set['mini_link'];
  49. } else {
  50. return $set['link'];
  51. }
  52. }
  53. }
  54. if (request()->type == 2) {
  55. return \Setting::get('shop.shop')['cservice_mini'];
  56. } else {
  57. return \Setting::get('shop.shop')['cservice'];
  58. }
  59. }
  60. public function getValue()
  61. {
  62. return static::CONTACT_CUSTOMER_SERVICE;
  63. }
  64. public function getName()
  65. {
  66. return '联系客服';
  67. }
  68. public function enable()
  69. {
  70. //商品开启不可退款
  71. if (!$this->order->no_refund) {
  72. return false;
  73. }
  74. return true;
  75. }
  76. }