85 lines
2.5 KiB
PHP
85 lines
2.5 KiB
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: sunny
|
|
* Date: 2019/2/26
|
|
* Time: 10:58 AM
|
|
*/
|
|
|
|
namespace App\Api\Controllers;
|
|
|
|
|
|
use App\Api\Resources\AccountLogsResource;
|
|
use Illuminate\Http\Request;
|
|
use App\User;
|
|
|
|
class AccountController extends Controller
|
|
{
|
|
public function __construct()
|
|
{
|
|
$this->middleware('auth.api');
|
|
$this->user = \Auth::guard('api')->user();
|
|
$this->uid = \Auth::guard('api')->id();
|
|
// $this->user = User::find(824);
|
|
// $this->uid = 824;
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
$rewardtotal = $this->user->account->logs()->where('type', 'cash')->where('rule_id', 2)->sum('variable');
|
|
$freezingTotal = $this->user->account->logs()->where('type', 'cash')->where('frozen', 1)->sum('variable');
|
|
$logs = $this->user->account->logs()->where('type', 'cash')->orderBy('created_at', 'desc')->get();
|
|
|
|
return [
|
|
'data' => [
|
|
'cash'=>$this->user->account->cash,
|
|
'rewardTotal' => $rewardtotal,
|
|
'freezingTotal' => $freezingTotal,
|
|
'logLists' => AccountLogsResource::collection($logs),
|
|
],
|
|
'status' => 'SUCCESS',
|
|
'status_code' => 200,
|
|
];
|
|
|
|
}
|
|
|
|
public function score(Request $request)
|
|
{
|
|
$type = $request->logType;
|
|
$logs = $this->user->account->logs()
|
|
->when($type, function ($query) use ($type) {
|
|
switch ($type) {
|
|
case 'ALL':
|
|
break;
|
|
case 'PLUS':
|
|
$query->where('variable', '>', 0);
|
|
break;
|
|
case 'MINUS':
|
|
$query->where('variable', '<', 0);
|
|
break;
|
|
case 'EXPIRE':
|
|
$query->where('variable', '>', 0);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
})
|
|
->where('type', 'score')
|
|
->orderBy('created_at', 'desc')->get();
|
|
$scoreExplain = \Params::get('score_explain');
|
|
|
|
$scoreExplain = str_replace("\n", "<br />", $scoreExplain);
|
|
$scoreExplain = str_replace("\r", "<br />", $scoreExplain);
|
|
|
|
return [
|
|
'data' => [
|
|
'score'=>$this->user->account->score,
|
|
'scoreExplain' => $scoreExplain,
|
|
'logLists' => AccountLogsResource::collection($logs),
|
|
],
|
|
'status' => 'SUCCESS',
|
|
'status_code' => 200,
|
|
];
|
|
}
|
|
|
|
} |