PluginApplication.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Name: 芸众商城系统
  5. * Author: 广州市芸众信息科技有限公司
  6. * Profile: 广州市芸众信息科技有限公司位于国际商贸中心的广州,专注于移动电子商务生态系统打造,拥有芸众社交电商系统、区块链数字资产管理系统、供应链管理系统、电子合同等产品/服务。官网 :www.yunzmall.com www.yunzshop.com
  7. * Date: 2021/6/17
  8. * Time: 10:21
  9. */
  10. namespace Yunshop\RunningDelivery;
  11. use Config;
  12. use YunShop;
  13. use app\common\services\Hook;
  14. class PluginApplication extends \app\common\services\PluginApplication
  15. {
  16. protected function setConfig() //操作config文件里的配置
  17. {
  18. \app\common\modules\shop\ShopConfig::current()->push('shop-foundation.status', ['key' => 'running_delivery', 'class' => \Yunshop\RunningDelivery\models\process\RunningStatus::class]);
  19. }
  20. public function boot() //注册监听事件
  21. {
  22. $events = app('events');
  23. //判断当前门店配送是否走跑腿配送第三方运费
  24. \app\common\modules\shop\ShopConfig::current()->set('extra_store_delivery_is_allow.running_delivery',
  25. [
  26. 'class' => '\Yunshop\RunningDelivery\services\DeliveryService',
  27. 'function' => 'runningDeliveryAllow'
  28. ]
  29. );
  30. //获取当前跑腿配送第三方运费
  31. \app\common\modules\shop\ShopConfig::current()->set('extra_store_delivery_get_fee.running_delivery',
  32. [
  33. 'class' => '\Yunshop\RunningDelivery\services\DeliveryService',
  34. 'function' => 'getDeliveryFee'
  35. ]
  36. );
  37. //门店订单详情隐藏操作按钮
  38. \app\common\modules\shop\ShopConfig::current()->set('change_order_for_store_order_detail.running_delivery',
  39. [
  40. 'class' => '\Yunshop\RunningDelivery\services\StoreService',
  41. 'function' => 'getRunningDeliveryOrder'
  42. ]
  43. );
  44. //判断门店下单页地址是否需要设置经纬度
  45. \app\common\modules\shop\ShopConfig::current()->set('create_store_order_need_set_lat.running_delivery',
  46. [
  47. 'class' => '\Yunshop\RunningDelivery\services\DeliveryService',
  48. 'function' => 'checkStoreOpen'
  49. ]
  50. );
  51. $events->subscribe(\Yunshop\RunningDelivery\listener\OrderCreatedListener::class);
  52. $events->subscribe(\Yunshop\RunningDelivery\listener\OrderPaidListener::class);
  53. $events->subscribe(\Yunshop\RunningDelivery\listener\AfterOrderCanceledListener::class);
  54. $events->subscribe(\Yunshop\RunningDelivery\listener\BeforeOrderCanceledListener::class);
  55. \Event::listen('cron.collectJobs', function () { //token刷新定时任务
  56. \Cron::add('RunningDeliveryRefreshToken', '*/10 * * * *', function () {
  57. (new \Yunshop\RunningDelivery\services\TimeRefreshTokenService())->handle();
  58. return;
  59. });
  60. });
  61. \Event::listen('cron.collectJobs', function () { //token刷新定时任务
  62. \Cron::add('RunningDeliveryRefreshOrder', '*/3 * * * *', function () {
  63. (new \Yunshop\RunningDelivery\services\TimeRefreshOrderService())->handle();
  64. return;
  65. });
  66. });
  67. }
  68. protected function setMenuConfig()
  69. {
  70. \app\backend\modules\menu\Menu::current()->setPluginMenu('running_delivery', [
  71. 'name' => '跑腿配送',
  72. 'type' => 'store',
  73. 'url' => 'plugin.running-delivery.admin.setting.index',
  74. 'url_params' => '',
  75. 'permit' => 1,
  76. 'menu' => 1,
  77. 'top_show' => 0,
  78. 'left_first_show' => 0,
  79. 'left_second_show' => 1,
  80. 'icon' => 'fa-picture-o',
  81. 'list_icon' => 'running_delivery',
  82. 'parents' => [],
  83. 'child' => [
  84. 'running_delivery_setting' => [
  85. 'name' => '基础设置',
  86. 'permit' => 1,
  87. 'menu' => 1,
  88. 'icon' => 'fa-gear',
  89. 'url' => 'plugin.running-delivery.admin.setting.index',
  90. 'url_params' => '',
  91. 'parents' => ['running_delivery'],
  92. 'child' => [
  93. 'running_delivery_setting_edit' => [
  94. 'name' => '编辑设置',
  95. 'permit' => 1,
  96. 'menu' => 0,
  97. 'icon' => 'fa-th-list',
  98. 'url' => 'plugin.running-delivery.admin.setting.edit',
  99. 'url_params' => '',
  100. 'parents' => ['running_delivery', 'running_delivery_setting'],
  101. 'child' => []
  102. ],
  103. ],
  104. ],
  105. 'running_delivery_store' => [
  106. 'name' => '门店管理',
  107. 'permit' => 1,
  108. 'menu' => 1,
  109. 'icon' => 'fa-group',
  110. 'url' => 'plugin.running-delivery.admin.store.index',
  111. 'url_params' => '',
  112. 'parents' => ['running_delivery'],
  113. 'child' => [
  114. 'running_delivery_store_bind_many' => [
  115. 'name' => '批量绑定商户',
  116. 'permit' => 1,
  117. 'menu' => 0,
  118. 'icon' => 'fa-th-list',
  119. 'url' => 'plugin.running-delivery.admin.store.bindManyStore',
  120. 'url_params' => '',
  121. 'parents' => ['running_delivery', 'running_delivery_store'],
  122. 'child' => []
  123. ],
  124. 'running_delivery_store_bind_one' => [
  125. 'name' => '绑定单个商户',
  126. 'permit' => 1,
  127. 'menu' => 0,
  128. 'icon' => 'fa-th-list',
  129. 'url' => 'plugin.running-delivery.admin.store.bindOneStore',
  130. 'url_params' => '',
  131. 'parents' => ['running_delivery', 'running_delivery_store'],
  132. 'child' => []
  133. ],
  134. ]
  135. ],
  136. 'running_delivery_order' => [
  137. 'name' => '跑腿订单同步',
  138. 'permit' => 1,
  139. 'menu' => 0,
  140. 'icon' => 'fa-group',
  141. 'url' => 'plugin.running-delivery.admin.order.changeProcess',
  142. 'url_params' => '',
  143. 'parents' => ['running_delivery'],
  144. 'child' => [
  145. 'running_delivery_order_cancel' => [
  146. 'name' => '跑腿订单取消',
  147. 'permit' => 1,
  148. 'menu' => 0,
  149. 'icon' => 'fa-th-list',
  150. 'url' => 'plugin.running-delivery.admin.order.cancelOrder',
  151. 'url_params' => '',
  152. 'parents' => ['running_delivery', 'running_delivery_store'],
  153. 'child' => []
  154. ],
  155. ]
  156. ],
  157. ]
  158. ]);
  159. }
  160. }