bztang-admin/plugins/team-dividend/src/admin/CodeRecordController.php

135 lines
4.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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();
}
}