bztang-admin/plugins/cultural-space/src/PluginApplication.php

188 lines
7.7 KiB
PHP

<?php
namespace Yunshop\CulturalSpace;
use Yunshop\CulturalSpace\listener\OrderPaidListener;
use Yunshop\CulturalSpace\models\ContributionBonusLog;
class PluginApplication extends \app\common\services\PluginApplication{
protected function setMenuConfig(){
\app\backend\modules\menu\Menu::current()->setPluginMenu('cultural-space', [
'name' => '文创空间',
'type' => 'marketing',
'url' => 'plugin.cultural-space.admin.contribution.index',// url 可以填写http 也可以直接写路由
'url_params' => '',//如果是url填写的是路由则启用参数否则不启用
'permit' => 1,//如果不设置则不会做权限检测
'menu' => 1,//如果不设置则不显示菜单,子菜单也将不显示
'icon' => '',//菜单图标
'list_icon' => 'cultural-space',
'parents' => [],
'top_show' => 0,
'left_first_show' => 0,
'left_second_show' => 1,
'child' => [
/* 'plugin_cultural_space_index' => [
'name' => '文创空间',
'permit' => 1,
'menu' => 1,
'icon' => '',
'url' => 'plugin.cultural-space.admin.index.index',
'url_params' => '',
'item' => 'plugin_cultural_space_index',
'parents' => ['cultural-space'],
'child' => [
// 权限补充
'plugin_cultural_space_index_index' => [
'name' => '权重值明细',
'url' => 'plugin.cultural-space.admin.index.index',
'url_params' => '',
'permit' => 1,
'menu' => 0,
'icon' => '',
'item' => 'plugin_cultural_space_index_index',
'parents' => ['cultural-space','plugin_cultural_space_index']
],
'plugin_cultural_space_index_record' => [
'name' => '变更记录',
'url' => 'plugin.cultural-space.admin.index.record',
'url_params' => '',
'permit' => 1,
'menu' => 0,
'icon' => '',
'item' => 'plugin_cultural_space_index_record',
'parents' => ['cultural-space','plugin_cultural_space_index']
],
]
],*/
'plugin_cultural_space_contribution' => [
'name' => '贡献值管理',
'permit' => 1,
'menu' => 1,
'icon' => '',
'url' => 'plugin.cultural-space.admin.contribution.index',
'url_params' => '',
'item' => 'plugin_cultural_space_contribution',
'parents' => ['cultural-space'],
'child' => [
// 权限补充
'plugin_cultural_space_contribution_index' => [
'name' => '贡献值管理',
'url' => 'plugin.cultural-space.admin.contribution.index',
'url_params' => '',
'permit' => 1,
'menu' => 0,
'icon' => '',
'item' => 'plugin_cultural_space_contribution_index',
'parents' => ['cultural-space','plugin_cultural_space_contribution']
],
]
],
'plugin_cultural_space_fund_pool' => [
'name' => '基金池',
'permit' => 1,
'menu' => 1,
'icon' => '',
'url' => 'plugin.cultural-space.admin.fund.index',
'url_params' => '',
'item' => 'plugin_cultural_space_fund',
'parents' => ['cultural-space'],
'child' => [
// 权限补充
'plugin_cultural_space_fund_index' => [
'name' => '基金池',
'url' => 'plugin.cultural-space.admin.fund.index',
'url_params' => '',
'permit' => 1,
'menu' => 0,
'icon' => '',
'item' => 'plugin_cultural_space_fund_index',
'parents' => ['cultural-space','plugin_cultural_space_fund']
],
]
],
'plugin_cultural_space_set' => [
'name' => '基本设置',
'permit' => 1,
'menu' => 1,
'icon' => '',
'url' => 'plugin.cultural-space.admin.index.set',
'url_params' => '',
'parents' => ['cultural-space'],
'child' => [
// 权限补充
'plugin_cultural_space_index_set' => [
'name' => '基本设置',
'url' => 'plugin.cultural-space.admin.index.set',
'url_params' => '',
'permit' => 1,
'menu' => 0,
'icon' => '',
'item' => 'plugin_cultural_space_index_set',
'parents' => ['cultural-space', 'plugin_cultural_space_set'],
]
]
],
]
]);
}
public function getWidgetItems()
{
return [
'vue-goods.cultural_space' => [
'title' => '文创空间',
'class' => \Yunshop\CulturalSpace\admin\widget\CulturalSpaceWidget::class,
],
];
}
protected function setConfig(){
\app\common\modules\shop\ShopConfig::current()->set(
'observer.goods.cultural_space', [
'class' => 'Yunshop\CulturalSpace\models\GoodsCulturalSpace',
'function_save' => 'relationSave'
]
);
}
public function getIncomeItems(){
return [
'contributionBonus' => [
'title' => '贡献值分红',
'type' => 'contributionBonus',
'type_name' => '贡献值分红',
'class' => 'Yunshop\CulturalSpace\models\ContributionBonusLog',
]
];
}
public function boot(){
$events = app('events');
// 订单支付成功
$events->subscribe(OrderPaidListener::class);
}
public function cronConfig(){
\Event::listen('cron.collectJobs', function () {
// 每天0点30 执行一次贡献值分红处理
\Cron::add('cultural-space-contribution-bonus', '30 0 * * *', function () {
\Log::debug('--- 文创空间 - 贡献值分红 - 开始 ----');
(new ContributionBonusLog())->bonusInit();
return;
});
// 每天1点30 执行一次贡献值分红结算
\Cron::add('cultural-space-contribution-bonus-settlement', '30 1 * * *', function () {
\Log::debug('--- 文创空间 - 贡献值分红 - 结算开始 ----');
(new ContributionBonusLog())->contributionBonusSettlement();
return;
});
});
}
}