[ 'class' => 'Yunshop\PointActivity\Common\Services\IncomePageService', 'type' => 'marketing' ] ]; } public function getIncomeItems() { return ['pointActivity' => [ 'title' => '积分活动奖励', 'type' => 'pointActivity', 'class' => 'Yunshop\PointActivity\Common\Models\PointActivityAwardLog', 'order_class' => '', ]]; } protected function setConfig() { \app\common\modules\shop\ShopConfig::current()->set('observer.goods.point_activity', [ 'class' => 'Yunshop\PointActivity\Backend\Models\GoodsPointActivity', 'function_validator' => 'relationValidator', 'function_save' => 'relationSave' ]); } public function getWidgetItems() { return [ 'withdraw.point_activity' => [ 'title' => '积分活动提现', 'class' => 'Yunshop\PointActivity\Backend\Controllers\PointActivityWithdrawWidget', ], 'vue-goods.point_activity' => [ 'title' => '积分活动奖励', 'class' => \Yunshop\PointActivity\Backend\widgets\PointActivityVueWidget::class ], ]; } protected function setMenuConfig() { /** * 菜单、权限、路由 */ \app\backend\modules\menu\Menu::current()->setPluginMenu('point_activity', MenuHook::menu()); } public function boot() { $events = app('events'); $events->subscribe(\Yunshop\PointActivity\Common\Listeners\OrderReceivedListener::class); } public function register() { $point = \Setting::get('shop.shop.credit1') ?: "积分"; define('MEMBER_POINT', $point); } public function cronConfig() { \Event::listen('cron.collectJobs', function () { \Cron::add('Activity-Point-Validity', '*/10 * * * *', function () { (new TimedTaskActivityValidityService())->handle(); }); \Cron::add('Point-Activity-Validity', '*/10 * * * *', function () { (new TimedTaskPointValidityService())->handle(); }); }); } }