bztang-admin/plugins/shareholder-dividend/src/admin/SetController.php

119 lines
4.1 KiB
PHP

<?php
namespace Yunshop\ShareholderDividend\admin;
use app\common\components\BaseController;
use app\common\facades\Setting;
use app\common\helpers\Url;
use app\common\models\Goods;
use app\common\models\Income;
use app\common\models\notice\MessageTemp;
use Yunshop\ShareholderDividend\models\ShareholderDividendModel;
use Yunshop\ShareholderDividend\models\TeamAgentModel;
use Yunshop\ShareholderDividend\services\TimedTaskService;
use Yunshop\TeamDividend\models\TeamDividendLevelModel;
use Illuminate\Support\Facades\Validator;
/**
* Author:
* Date: 2017/6/12
* Time: 下午6:01
*/
class SetController extends BaseController
{
public function fix()
{
// (new TimedTaskService())->shareholderDividendOrder(79);
// 手动触发全网分红处理流程
// (new \Yunshop\ShareholderDividend\services\TimedTaskService)->handle();
dd("全网分红处理完成");
$teamLevels = TeamDividendLevelModel::getList()->get();
foreach ($teamLevels as $teamLevel) {
$teamAgents = TeamAgentModel::getTeamAgentByLevelId($teamLevel['id'])->where('uid', 30971);
dump($teamAgents->get()->toArray());
}
dd('ok');
}
/**
* @return \Laracasts\Flash\FlashNotifier|mixed|string
* @throws \Throwable
*/
public function index()
{
if (!\YunShop::plugin()->get('team-dividend')) {
return $this->message('未安装或未开启团队分红', Url::absoluteWeb('index.index'));
}
$set = Setting::get('plugin.shareholder');
$shareholderModel = \YunShop::request()->setdata;
if ($shareholderModel) {
if ($shareholderModel['condition_dividend']==1 && $shareholderModel['consume_amount']<=0){
return $this->message('每月最少消费单数不能小于1', Url::absoluteWeb('plugin.shareholder-dividend.admin.set'), 'error');
}
if (Setting::set('plugin.shareholder', $shareholderModel)) {
return $this->message('设置成功', Url::absoluteWeb('plugin.shareholder-dividend.admin.set'));
} else {
return $this->error('设置失败');
}
}
for ($i = 0; $i <= 23; $i++) {
$hourData[$i] = [
'key' => $i,
'name' => $i . ":00",
];
}
if ($set['goods'] && $goodIds = array_filter(array_column($set['goods'],'goods_id'))) {
$goods = Goods::select('id', 'title', 'thumb')
->whereIn('id',$goodIds)
->where('status', 1)
->where('plugin_id', 0)
->get();
foreach ($set['goods'] as &$item) {
$good = $goods->where('id',$item['goods_id'])->first();
if ($good) {
$item['goods'] = $good;
} else {
$item['goods_id'] = '';
}
}
unset($item);
}
// dd($set);
$teamLevels = TeamDividendLevelModel::getList()->get();
$temp_list = MessageTemp::getList();
return view('Yunshop\ShareholderDividend::admin.set', [
'set' => $set,
'hourData' => $hourData,
'teamLevels' => $teamLevels,
'temp_list' => $temp_list,
])->render();
}
// public function test()
// {
// (new \Yunshop\ShareholderDividend\services\TimedTaskService)->handle();
// return $this->message('设置成功', Url::absoluteWeb('plugin.shareholder-dividend.admin.set'));
// }
// plugin.channel.admin.goods.goods.search
public function searchGoods()
{
$keyword = \YunShop::request()->keyword;
$goods = Goods::select('id', 'title', 'thumb')
->where('title', 'like', '%' . $keyword . '%')
->where('status', 1)
->where('plugin_id', 0)
->get();
if (!$goods->isEmpty()) {
$goods = set_medias($goods->toArray(), array('thumb'));
}
return view('Yunshop\ShareholderDividend::admin.tpl.search', [
'goods' => $goods
])->render();
}
}