135 lines
4.6 KiB
PHP
135 lines
4.6 KiB
PHP
<?php
|
||
|
||
|
||
namespace Yunshop\TeamDividend\admin;
|
||
|
||
use app\common\components\BaseController;
|
||
use app\common\helpers\PaginationHelper;
|
||
use Yunshop\TeamDividend\models\CodeRecordModel;
|
||
use Yunshop\TeamDividend\models\TeamDividendLevelModel;
|
||
|
||
class CodeRecordController extends BaseController
|
||
{
|
||
private $pageSize = 20;
|
||
|
||
public function details()
|
||
{
|
||
$params = \YunShop::request();
|
||
|
||
if (empty($params->level_id)) {
|
||
return $this->message('参数错误请重新输入');
|
||
}
|
||
if (strpos($params['searchtime'], '×') !== FALSE) {
|
||
$search_time = explode('×', $params['searchtime']);
|
||
|
||
if (!empty($search_time)) {
|
||
$params['searchtime'] = $search_time[0];
|
||
|
||
$start_time = explode('=', $search_time[1]);
|
||
$end_time = explode('=', $search_time[2]);
|
||
|
||
$params->times = [
|
||
'start' => $start_time[1],
|
||
'end' => $end_time[1]
|
||
];
|
||
}
|
||
}
|
||
|
||
$list = CodeRecordModel::searchRecords($params)
|
||
->paginate($this->pageSize)
|
||
->toArray();
|
||
|
||
$pager = PaginationHelper::show($list['total'], $list['current_page'], $this->pageSize);
|
||
|
||
$starttime = $endtime = time();
|
||
|
||
if (isset($params['searchtime']) && $params['searchtime'] == 1) {
|
||
if ($params['times']['start'] != '请选择' && $params['times']['end'] != '请选择') {
|
||
$starttime = strtotime($params['times']['start']);
|
||
$endtime = strtotime($params['times']['end']);
|
||
}
|
||
}
|
||
|
||
return view('Yunshop\TeamDividend::admin.code-detail', [
|
||
'list' => $list,
|
||
'endtime' => $endtime,
|
||
'starttime' => $starttime,
|
||
'total' => $list['total'],
|
||
'pager' => $pager,
|
||
'request' => \YunShop::request(),
|
||
])->render();
|
||
}
|
||
|
||
public function export()
|
||
{
|
||
$file_name = date('Ymdhis', time()) . '激活码记录导出';
|
||
|
||
$params = \YunShop::request();
|
||
|
||
if (strpos($params['searchtime'], '×') !== FALSE) {
|
||
$search_time = explode('×', $params['searchtime']);
|
||
|
||
if (!empty($search_time)) {
|
||
$params['searchtime'] = $search_time[0];
|
||
|
||
$start_time = explode('=', $search_time[1]);
|
||
$end_time = explode('=', $search_time[2]);
|
||
|
||
$params->times = [
|
||
'start' => $start_time[1],
|
||
'end' => $end_time[1]
|
||
];
|
||
}
|
||
}
|
||
|
||
$list = CodeRecordModel::searchRecords($params)
|
||
->get()
|
||
->toArray();
|
||
|
||
$export_data[0] = ['ID', '发放人', '使用人', '激活码', '原团队等级', '使用后团队等级', '状态', '发放时间', '使用时间'];
|
||
|
||
foreach ($list as $key => $item) {
|
||
|
||
if (!empty($item['status'])) {
|
||
$status = '已使用';
|
||
} else {
|
||
$status = '未使用';
|
||
}
|
||
|
||
$export_data[$key + 1] = [$item['id'], $item['has_one_send_member']['nickname'], $item['has_one_use_member']['nickname'], $item['code'], $item['o_team_level'], $item['c_team_level'], $status, $item['created_at'], $item['updated_at']];
|
||
}
|
||
return \app\exports\ExcelService::fromArrayExport($export_data,$file_name);
|
||
|
||
// 商城更新,无法使用
|
||
// \Excel::create($file_name, function ($excel) use ($export_data) {
|
||
// // Set the title
|
||
// $excel->setTitle('Office 2005 XLSX Document');
|
||
//
|
||
// // Chain the setters
|
||
// $excel->setCreator('')
|
||
// ->setLastModifiedBy("")
|
||
// ->setSubject("Office 2005 XLSX Test Document")
|
||
// ->setDescription("Test document for Office 2005 XLSX, generated using PHP classes.")
|
||
// ->setKeywords("office 2005 openxml php")
|
||
// ->setCategory("report file");
|
||
//
|
||
// $excel->sheet('info', function ($sheet) use ($export_data) {
|
||
// $sheet->rows($export_data);
|
||
// });
|
||
//
|
||
//
|
||
// })->export('xls');
|
||
}
|
||
|
||
public function index()
|
||
{
|
||
$level_list = TeamDividendLevelModel::getList()->get()->toArray();
|
||
foreach ($level_list as &$level) {
|
||
$level['used_num'] = CodeRecordModel::uniacid()->where('level_id',$level['id'])->where('status',1)->count();
|
||
$level['send_num'] = CodeRecordModel::uniacid()->where('level_id',$level['id'])->count();
|
||
}
|
||
return view('Yunshop\TeamDividend::admin.code', [
|
||
'level_list' => $level_list,
|
||
])->render();
|
||
}
|
||
} |