setPluginMenu('rebate', [ 'name' => '消费返利', 'type' => 'marketing', 'url' => 'plugin.rebate.admin.index.index',// url 可以填写http 也可以直接写路由 'url_params' => '',//如果是url填写的是路由则启用参数否则不启用 'permit' => 1,//如果不设置则不会做权限检测 'menu' => 1,//如果不设置则不显示菜单,子菜单也将不显示 'icon' => '',//菜单图标 'list_icon' => 'rebate', 'parents' => [], 'top_show' => 0, 'left_first_show' => 0, 'left_second_show' => 1, 'child' => [ 'plugin_rebate_index' => [ 'name' => '返利列表', 'permit' => 1, 'menu' => 1, 'icon' => '', 'url' => 'plugin.rebate.admin.index.index', 'url_params' => '', 'item' => 'plugin_rebate_index', 'parents' => ['rebate'], 'child' => [ // 权限补充 'plugin_rebate_index_index' => [ 'name' => '返利列表', 'url' => 'plugin.rebate.admin.index.index', 'url_params' => '', 'permit' => 1, 'menu' => 0, 'icon' => '', 'item' => 'plugin_rebate_index_index', 'parents' => ['rebate','plugin_rebate_index'] ], ] ], 'plugin_rebate_set' => [ 'name' => '基本设置', 'permit' => 1, 'menu' => 1, 'icon' => '', 'url' => 'plugin.rebate.admin.index.set', 'url_params' => '', 'parents' => ['rebate'], 'child' => [ // 权限补充 'plugin_rebate_index_set' => [ 'name' => '基本设置', 'url' => 'plugin.rebate.admin.index.set', 'url_params' => '', 'permit' => 1, 'menu' => 0, 'icon' => '', 'item' => 'plugin_rebate_index_set', 'parents' => ['rebate', 'plugin_rebate_set'], ], ] ], ] ]); } public function getWidgetItems() { return [ 'withdraw.rebate_commission' => [ 'title' => '消费返利提现', 'class' => 'Yunshop\Rebate\admin\widget\RebateWithdrawWidget' ], 'vue-goods.rebate' => [ 'title' => '消费返利', 'class' => \Yunshop\Rebate\admin\widget\RebateWidget::class, ], ]; } protected function setConfig(){ \app\common\modules\shop\ShopConfig::current()->set( 'observer.goods.rebate', [ 'class' => 'Yunshop\Rebate\models\GoodsRebate', 'function_save' => 'relationSave' ] ); } public function getIncomeItems(){ return [ 'rebate' => [ 'title' => '养殖收益', 'type' => 'rebate', 'type_name' => '养殖收益', 'class' => 'Yunshop\Rebate\models\Rebate', ] ]; } public function boot(){ $events = app('events'); // 订单支付成功 $events->subscribe(OrderPaidListener::class); } public function cronConfig(){ \Event::listen('cron.collectJobs', function () { // 每5分钟 执行一次消费返利解冻判断 \Cron::add('rebate-settlement', '*/5 * * * *', function () { Rebate::rebateThaw(); return; }); // 每5分钟 执行一次消费返利失效判断 \Cron::add('rebate-lose-efficacy', '*/1 * * * *', function () { Rebate::loseEfficacy(); return; }); }); } }