102 lines
3.4 KiB
PHP
102 lines
3.4 KiB
PHP
<?php
|
|
/**
|
|
* Author:
|
|
* Date: 2017/08/30
|
|
* Time: 下午2:33
|
|
*/
|
|
|
|
namespace Yunshop\ShareholderDividend\admin;
|
|
|
|
|
|
use app\common\components\BaseController;
|
|
use app\common\facades\Setting;
|
|
use app\common\helpers\PaginationHelper;
|
|
use app\common\helpers\Url;
|
|
use app\common\services\ExportService;
|
|
use Yunshop\ShareholderDividend\models\ShareholderDividendModel;
|
|
use Yunshop\TeamDividend\models\TeamDividendLevelModel;
|
|
|
|
class DividendLogController extends BaseController
|
|
{
|
|
protected $pageSize;
|
|
protected $set;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->pageSize = 10;
|
|
$this->set = Setting::get('plugin.single_return');
|
|
}
|
|
|
|
/**
|
|
* @return mixed|string
|
|
* @throws \Throwable
|
|
*/
|
|
public function index()
|
|
{
|
|
if (!\YunShop::plugin()->get('team-dividend')) {
|
|
return $this->message('未安装或未开启经销商管理', Url::absoluteWeb('index.index'));
|
|
}
|
|
$search = \YunShop::request()->get('search');
|
|
|
|
$list = ShareholderDividendModel::getDividendog($search)->orderBy('id', 'desc')->whereHas('hasOneMember')->paginate($this->pageSize);
|
|
|
|
$pager = PaginationHelper::show($list->total(), $list->currentPage(), $list->perPage());
|
|
if (!$search['time']) {
|
|
$search['time']['start'] = date("Y-m-d H:i:s", time());
|
|
$search['time']['end'] = date("Y-m-d H:i:s", time());
|
|
$search['is_time'] = 0;
|
|
}
|
|
$level = TeamDividendLevelModel::getList()->get();
|
|
return view('Yunshop\ShareholderDividend::admin.dividend-log', [
|
|
'list' => $list->toarray(),
|
|
'pager' => $pager,
|
|
'search' => $search,
|
|
'level' => $level,
|
|
'set' => $this->set,
|
|
])->render();
|
|
}
|
|
|
|
|
|
public function export()
|
|
{
|
|
|
|
$file_name = date('Ymdhis', time()) . '股东分红记录导出';
|
|
$search = \YunShop::request()->get('search');
|
|
$list = ShareholderDividendModel::getDividendog($search)->orderBy('id', 'desc')
|
|
->whereHas('hasOneMember');
|
|
$export_page = request()->export_page ? request()->export_page : 1;
|
|
$export_model = new ExportService($list, $export_page);
|
|
if (!$export_model->builder_model->isEmpty()) {
|
|
$export_data[0] = [
|
|
'ID',
|
|
'时间',
|
|
'会员',
|
|
'商城销售总额',
|
|
'分红比例',
|
|
'团队等级',
|
|
'同等级团队人数',
|
|
'返现金额'
|
|
];
|
|
foreach ($export_model->builder_model->toArray() as $key => $item) {
|
|
$export_data[$key + 1] = [
|
|
$item['id'],
|
|
$item['created_at'],
|
|
$item['has_one_member']['nickname'],
|
|
$item['order_amount'],
|
|
$item['rate'].'%',
|
|
$item['team_level_name'],
|
|
$item['level_num'],
|
|
$item['amount']
|
|
];
|
|
}
|
|
$export_model->export($file_name, $export_data, 'plugin.shareholder-dividend.admin.dividend-log.index');
|
|
}
|
|
}
|
|
|
|
public function count()
|
|
{
|
|
$this->set = Setting::get('plugin.shareholder');
|
|
$orderAmount = \Yunshop\ShareholderDividend\services\CycleAmounyService::getCycleAmount($this->set['culate_cycle'], $this->set['culate_method']);
|
|
echo '统计金额:'.$orderAmount;
|
|
}
|
|
} |