123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <?php
- namespace App\Http\Controllers\Behavior;
- use App\Http\Controllers\Controller;
- use App\Models\RegisteredRecord;
- use App\Repositories\Behavior\RegisteredRecordRepository;
- use App\Transformers\Behavior\RegisteredRecordTransformer;
- use League\Fractal\Manager;
- use League\Fractal\Pagination\IlluminatePaginatorAdapter;
- use League\Fractal\Resource\Collection;
- use Illuminate\Http\Request;
- /**
- * Created by PhpStorm.
- * User: durong
- * Date: 2019/6/14
- * Time: 上午11:30
- */
- class RegisteredRecordController extends Controller
- {
- public function __construct(RegisteredRecordRepository $registeredRecordRepository)
- {
- $this->registeredRecordRepository = $registeredRecordRepository;
- }
- /**
- * 新用户注册账本列表
- */
- public function index(Request $request)
- {
- $registeredList = $this->registeredRecordRepository->lists($request->all());
- if (count($registeredList)>0) {
- $behavior_absolute_progression = RegisteredRecord::select('absolute_progression')->orderBy('id', 'DESC')->first();//行为绝对级数
- $behavior_trigger_times = RegisteredRecord::select('trigger_type')->where('trigger_type', '!=', null)->count();//总触发数
- $behavior_effective_trigger = RegisteredRecord::select('trigger_type')->where('trigger_type', 1)->count();//有效触发数
- $physical_exertion = RegisteredRecord::select('physical_exertion')->sum('physical_exertion');//总消耗体力值
- $generation_quantity = RegisteredRecord::select('generation_quantity')->sum('generation_quantity');//总生成彩虹豆
- $quantity_issued = RegisteredRecord::select('quantity_issued')->sum('quantity_issued');//总发放彩虹豆
- foreach ($registeredList as $k => $v) {
- $v['all_absolute_progression'] = $behavior_absolute_progression->absolute_progression;
- $v['all_trigger_times'] = $behavior_trigger_times;
- $v['all_effective_trigger'] = $behavior_effective_trigger;
- $v['physical_exertion'] = intval($physical_exertion);
- $v['generation_quantity'] = intval($generation_quantity);
- $v['quantity_issued'] = intval($quantity_issued);
- }
- }
- $fractal = new Manager();
- $resource = new Collection($registeredList, new RegisteredRecordTransformer());
- $resource->setPaginator(new IlluminatePaginatorAdapter($registeredList));
- $data = $fractal->createData($resource)->toArray();
- $data['extra'] = [
- 'filters' => [
- 'id',
- 'uid',
- 'created_at',
- 'absolute_progression',
- 'trigger_type',
- 'virus_behavior_id'
- ],
- 'columns' => [
- 'id',
- 'created_at',
- 'virus_behavior_id',
- 'uid',
- 'trigger_time',
- 'physical_exertion',
- 'trigger_type',
- 'generation_type',
- 'absolute_progression',
- 'superior_uid',
- 'release_status',
- 'generation_quantity',
- 'quantity_issued',
- 'behavior_cycle_type',
- 'name',
- 'relative_series',
- 'is_open',
- 'bahavior_created_at',
- 'all_absolute_progression',
- 'all_trigger_times',
- 'all_effective_trigger',
- 'all_physical_exertion',
- 'all_generation_quantity',
- 'all_quantity_issued'
- ]
- ];
- return $data;
- }
- }
|