491 lines
22 KiB
PHP
491 lines
22 KiB
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: shenyang
|
|
* Date: 2018/12/24
|
|
* Time: 3:38 PM
|
|
*/
|
|
|
|
namespace Yunshop\Printer;
|
|
use Config;
|
|
use Yunshop\Hotel\common\models\Hotel;
|
|
use Yunshop\Supplier\common\models\Supplier;
|
|
|
|
class PluginApplication extends \app\common\services\PluginApplication
|
|
{
|
|
protected function setConfig()
|
|
{
|
|
\app\common\modules\shop\ShopConfig::current()->set('printer_owner', [
|
|
'owner' => 1,
|
|
'owner_id' => 0
|
|
]);
|
|
|
|
//因为优先加载酒店插件,所以只能在这里覆盖配置
|
|
if (\YunShop::isWeb() && app('plugins')->isEnabled('hotel')) {
|
|
$hotel = Hotel::select()->byUserUid(\YunShop::app()->uid)->first();
|
|
|
|
if ($hotel) {
|
|
\app\common\modules\shop\ShopConfig::current()->set('printer_owner', [
|
|
'owner' => Hotel::PLUGIN_ID,
|
|
'owner_id' => $hotel->id
|
|
]);
|
|
}
|
|
}
|
|
|
|
if (\YunShop::isRole() && app('plugins')->isEnabled('supplier')) {
|
|
$supplier = Supplier::select()->where('uid', \YunShop::app()->uid)->first();
|
|
|
|
if ($supplier) {
|
|
\app\common\modules\shop\ShopConfig::current()->set('printer_owner', [
|
|
'owner' => Supplier::PLUGIN_ID,
|
|
'owner_id' => $supplier->id
|
|
]);
|
|
}
|
|
}
|
|
|
|
if (\YunShop::isStore() && app('plugins')->isEnabled('store-cashier')) {
|
|
$store = \Yunshop\StoreCashier\common\models\Store::select()->byUserUid(\YunShop::app()->uid)->first();
|
|
if ($store) {
|
|
\app\common\modules\shop\ShopConfig::current()->set('printer_owner', [
|
|
'owner' => \Yunshop\StoreCashier\common\models\Store::PLUGIN_ID,
|
|
'owner_id' => $store->id
|
|
]);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
protected function setMenuConfig()
|
|
{
|
|
|
|
$printer_menu = [
|
|
'printer_list' => [
|
|
'name' => '打印机管理',
|
|
'url' => 'plugin.printer.admin.list.index',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => 'fa-list',
|
|
'item' => 'printer_list',
|
|
'parents' => ['printer'],
|
|
'child' => [
|
|
|
|
'printer_list' => [
|
|
'name' => '打印机列表',
|
|
'url' => 'plugin.printer.admin.list.get-list',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'printer_list',
|
|
'parents' => ['printer','printer_list'],
|
|
],
|
|
'printer_info' => [
|
|
'name' => '打印机详情',
|
|
'url' => 'plugin.printer.admin.list.info',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'printer_info',
|
|
'parents' => ['printer','printer_list'],
|
|
],
|
|
'printer_add' => [
|
|
'name' => '添加',
|
|
'url' => 'plugin.printer.admin.list.add',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'printer_add',
|
|
'parents' => ['printer','printer_list'],
|
|
],
|
|
|
|
'printer_edit' => [
|
|
'name' => '修改',
|
|
'url' => 'plugin.printer.admin.list.edit',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'printer_edit',
|
|
'parents' => ['printer','printer_list'],
|
|
],
|
|
|
|
'printer_del' => [
|
|
'name' => '删除',
|
|
'url' => 'plugin.printer.admin.list.del',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'printer_del',
|
|
'parents' => ['printer','printer_list'],
|
|
],
|
|
|
|
'printer_change_status' => [
|
|
'name' => '更改状态',
|
|
'url' => 'plugin.printer.admin.list.change-status',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'printer_change_status',
|
|
'parents' => ['printer','printer_list'],
|
|
]
|
|
]
|
|
],
|
|
|
|
'temp_list' => [
|
|
'name' => '模板库管理',
|
|
'url' => 'plugin.printer.admin.temp.index',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => 'fa-list',
|
|
'item' => 'temp_list',
|
|
'parents' => ['printer'],
|
|
'child' => [
|
|
|
|
'temp_list_get_list' => [
|
|
'name' => '获取列表数据',
|
|
'url' => 'plugin.printer.admin.temp.get-list',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => 'fa-clipboard',
|
|
'item' => 'temp_list_get_list',
|
|
'parents' => ['printer','temp_list'],
|
|
],
|
|
'temp_list_info' => [
|
|
'name' => '详情',
|
|
'url' => 'plugin.printer.admin.temp.info',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => 'fa-clipboard',
|
|
'item' => 'temp_list_info',
|
|
'parents' => ['printer','temp_list'],
|
|
],
|
|
'temp_list_add' => [
|
|
'name' => '添加',
|
|
'url' => 'plugin.printer.admin.temp.add',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => 'fa-clipboard',
|
|
'item' => 'temp_list_add',
|
|
'parents' => ['printer','temp_list'],
|
|
],
|
|
|
|
'temp_list_edit' => [
|
|
'name' => '修改',
|
|
'url' => 'plugin.printer.admin.temp.edit',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => 'fa-clipboard',
|
|
'item' => 'temp_list_edit',
|
|
'parents' => ['printer','temp_list'],
|
|
],
|
|
|
|
'temp_list_del' => [
|
|
'name' => '删除',
|
|
'url' => 'plugin.printer.admin.temp.del',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'temp_list_del',
|
|
'parents' => ['printer','temp_list'],
|
|
],
|
|
|
|
|
|
'temp_list_tpl' => [
|
|
'name' => '添加建',
|
|
'url' => 'plugin.printer.admin.temp.tpl',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'temp_list_tpl',
|
|
'parents' => ['printer','temp_list'],
|
|
]
|
|
]
|
|
],
|
|
|
|
'printer_set' => [
|
|
'name' => '打印机设置',
|
|
'url' => 'plugin.printer.admin.set.index',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => 'fa-cogs',
|
|
'item' => 'printer_set',
|
|
'parents' => ['printer'],
|
|
'child' => [
|
|
'printer_set_detail' => [
|
|
'name' => '获取设置',
|
|
'url' => 'plugin.printer.admin.set.detail',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => 'fa-clipboard',
|
|
'item' => 'printer_set_detail',
|
|
'parents' => ['printer','printer_set'],
|
|
],
|
|
'printer_set_update' => [
|
|
'name' => '更新设置',
|
|
'url' => 'plugin.printer.admin.set.update',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => 'fa-clipboard',
|
|
'item' => 'printer_set_update',
|
|
'parents' => ['printer','printer_set'],
|
|
],
|
|
]
|
|
]
|
|
];
|
|
|
|
if (app('plugins')->isEnabled('kart')){
|
|
$printer_menu['parking_temp'] = [
|
|
'name' => '车场模板库管理',
|
|
'url' => 'plugin.printer.admin.parking-temp.index',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => 'fa-cogs',
|
|
'item' => 'parking_temp',
|
|
'parents' => ['printer'],
|
|
'child' => [
|
|
'printer_get_list' => [
|
|
'name' => '列表数据',
|
|
'url' => 'plugin.printer.admin.parking-temp.get-list',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => 'fa-cogs',
|
|
'item' => 'printer_get_list',
|
|
'parents' => ['printer','parking_temp'],
|
|
'child' => []
|
|
],
|
|
'printer_info' => [
|
|
'name' => '详情',
|
|
'url' => 'plugin.printer.admin.parking-temp.info',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => 'fa-cogs',
|
|
'item' => 'printer_info',
|
|
'parents' => ['printer','parking_temp'],
|
|
'child' => []
|
|
],
|
|
'printer_add' => [
|
|
'name' => '添加车场模板库',
|
|
'url' => 'plugin.printer.admin.parking-temp.add',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => 'fa-cogs',
|
|
'item' => 'printer_add',
|
|
'parents' => ['printer','parking_temp'],
|
|
'child' => []
|
|
],
|
|
'printer_edit' => [
|
|
'name' => '编辑车场模板库',
|
|
'url' => 'plugin.printer.admin.parking-temp.edit',
|
|
'url_params' => '',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => 'fa-cogs',
|
|
'item' => 'printer_edit',
|
|
'parents' => ['printer','parking_temp'],
|
|
'child' => []
|
|
]
|
|
]
|
|
];
|
|
}
|
|
|
|
|
|
\app\backend\modules\menu\Menu::current()->setPluginMenu('printer', [
|
|
'name' => '打印机',
|
|
'type' => 'tool',
|
|
'url' => 'plugin.printer.admin.list.index',// url 可以填写http 也可以直接写路由
|
|
'urlParams' => '',//如果是url填写的是路由则启用参数否则不启用
|
|
'permit' => 1,//如果不设置则不会做权限检测
|
|
'menu' => 1,//如果不设置则不显示菜单,子菜单也将不显示
|
|
'top_show' => 0,
|
|
'left_first_show' => 0,
|
|
'left_second_show' => 1,
|
|
'icon' => 'fa-print',//菜单图标
|
|
'list_icon' => 'printer',
|
|
'parents' => [],
|
|
'child' => $printer_menu
|
|
]);
|
|
|
|
if (app('plugins')->isEnabled('hotel')) {
|
|
$hotel = \Yunshop\Hotel\common\models\Hotel::select()->byUserUid(\YunShop::app()->uid)->first();
|
|
|
|
if ($hotel){
|
|
|
|
$printer_menu = [
|
|
'printer_list' => [
|
|
'name' => '打印机管理',
|
|
'url' => 'plugin.printer.admin.list.index',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => 'fa-list',
|
|
'item' => 'printer_list',
|
|
'parents' => ['printer'],
|
|
'child' => [
|
|
|
|
'printer_add' => [
|
|
'name' => '添加',
|
|
'url' => 'plugin.printer.admin.list.add',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'printer_add',
|
|
'parents' => ['printer','printer_list'],
|
|
],
|
|
|
|
'printer_edit' => [
|
|
'name' => '修改',
|
|
'url' => 'plugin.printer.admin.list.edit',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'printer_edit',
|
|
'parents' => ['printer','printer_list'],
|
|
],
|
|
|
|
'printer_del' => [
|
|
'name' => '删除',
|
|
'url' => 'plugin.printer.admin.list.del',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'printer_del',
|
|
'parents' => ['printer','printer_list'],
|
|
],
|
|
|
|
'printer_change_status' => [
|
|
'name' => '更改状态',
|
|
'url' => 'plugin.printer.admin.list.change-status',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'printer_change_status',
|
|
'parents' => ['printer','printer_list'],
|
|
]
|
|
]
|
|
],
|
|
|
|
'temp_list' => [
|
|
'name' => '模板库管理',
|
|
'url' => 'plugin.printer.admin.temp.index',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => 'fa-list',
|
|
'item' => 'temp_list',
|
|
'parents' => ['printer'],
|
|
'child' => [
|
|
|
|
'temp_list_add' => [
|
|
'name' => '添加',
|
|
'url' => 'plugin.printer.admin.temp.add',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => 'fa-clipboard',
|
|
'item' => 'temp_list_add',
|
|
'parents' => ['printer','temp_list'],
|
|
],
|
|
|
|
'temp_list_edit' => [
|
|
'name' => '修改',
|
|
'url' => 'plugin.printer.admin.temp.edit',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => 'fa-clipboard',
|
|
'item' => 'temp_list_edit',
|
|
'parents' => ['printer','temp_list'],
|
|
],
|
|
|
|
'temp_list_del' => [
|
|
'name' => '删除',
|
|
'url' => 'plugin.printer.admin.temp.del',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'temp_list_del',
|
|
'parents' => ['printer','temp_list'],
|
|
],
|
|
|
|
|
|
'temp_list_tpl' => [
|
|
'name' => '添加建',
|
|
'url' => 'plugin.printer.admin.temp.tpl',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'temp_list_tpl',
|
|
'parents' => ['printer','temp_list'],
|
|
]
|
|
]
|
|
],
|
|
|
|
'printer_set' => [
|
|
'name' => '打印机设置',
|
|
'url' => 'plugin.printer.admin.set.index',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => 'fa-cogs',
|
|
'item' => 'printer_set',
|
|
'parents' => ['printer'],
|
|
'child' => []
|
|
]
|
|
];
|
|
|
|
|
|
\app\backend\modules\menu\Menu::current()->setPluginMenu('printer', [
|
|
'name' => '打印机',
|
|
'type' => 'tool',
|
|
'url' => 'plugin.printer.admin.list.index',// url 可以填写http 也可以直接写路由
|
|
'urlParams' => '',//如果是url填写的是路由则启用参数否则不启用
|
|
'permit' => 0,//如果不设置则不会做权限检测
|
|
'menu' => 1,//如果不设置则不显示菜单,子菜单也将不显示
|
|
'top_show' => 1,
|
|
'left_first_show' => 0,
|
|
'left_second_show' => 1,
|
|
'icon' => 'fa-print',//菜单图标
|
|
'list_icon' => 'printer',
|
|
'parents' => [],
|
|
'child' => $printer_menu
|
|
]);
|
|
}
|
|
}
|
|
}
|
|
|
|
public function boot()
|
|
{
|
|
$events = app('events');
|
|
|
|
$events->subscribe(\Yunshop\Printer\common\listeners\OrderCreatedListener::class);
|
|
|
|
$events->subscribe(\Yunshop\Printer\common\listeners\OrderPaidListener::class);
|
|
}
|
|
|
|
}
|