bztang-admin/plugins/point-activity/src/PluginApplication.php

94 lines
2.6 KiB
PHP

<?php
namespace Yunshop\PointActivity;
use Yunshop\PointActivity\Common\Config\MenuHook;
use Yunshop\PointActivity\Common\Services\TimedTaskActivityValidityService;
use Yunshop\PointActivity\Common\Services\TimedTaskPointValidityService;
class PluginApplication extends \app\common\services\PluginApplication
{
public function getIncomePageItems()
{
return [
'pointActivity' => [
'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();
});
});
}
}