game2006admin_be/app/Http/Controllers/IndexController.php
2022-08-08 14:05:32 +08:00

86 lines
2.5 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Exports\MintExport;
use App\Models\NftModel;
use App\Models\NodeGroup;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Mail\Message;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail;
use Maatwebsite\Excel\Facades\Excel;
use Illuminate\Support\Carbon;
class IndexController extends Controller
{
// 首页-dashboard
public function index(){
$nft_sum = NftModel::count();
$start_time = strtotime(Carbon::now()->startOfMonth());
$end_time = strtotime(Carbon::now()->endOfMonth());
$nft_month_num = NftModel::whereBetween('createtime',[$start_time,$end_time])->count();
$data = [
'nft_sum' => $nft_sum,
'nft_month_num' => $nft_month_num
];
return $this->success($data);
}
/**
* 根据name导出数据
* @param Request $request
* @return \Illuminate\Http\JsonResponse|\Symfony\Component\HttpFoundation\BinaryFileResponse
*/
public function exports(Request $request){
if (!$request->has('name') || empty($request->get('name'))) {
return $this->error(ERROR_CODE_PARAM_INVALID,'缺少参数');
}
$name = $request->get('name');
return Excel::download(app( $this->createExport($name)),$name.'.xlsx');
}
public function createExport($name){
$name = ucwords($name);
return 'App\Exports\\'.$name.'Export';
}
public function sendEmail(){
// Mail::raw('测试',function (Message $message){
// $message->to('hujiabin@kingsome.cn','CEBG');
// $message->subject('James');
// });
// return view('email',['role'=>$role]);
$msg = [
'role'=>'初审员',
'what' => '申请',
'do' => '审核'
];
$data = NodeGroup::with('user')->where('name','初审组')->first();
if ($data){
$data = $data->toArray();
if ($data['user']){
foreach ($data['user'] as $val){
Mail::send('email',compact('msg'),function(Message $message) use ($val){
$message->to($val['email']);
$message -> subject('Nft申请通知');
});
}
}
Log::warning('初审组内不存在有权限的用户');
}
Log::warning('无法识别出初审组');
// dump($user);
// dump($data->toArray());
}
}