1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- namespace App\Http\Controllers\Behavior;
- use App\Http\Controllers\Controller;
- use App\Models\CommentRecord;
- use App\Repositories\Behavior\CommentRecordRepository;
- use App\Transformers\Behavior\CommentRecordTransformer;
- use Illuminate\Http\Request;
- use League\Fractal\Manager;
- use League\Fractal\Pagination\IlluminatePaginatorAdapter;
- use League\Fractal\Resource\Collection;
- /**
- * Created by PhpStorm.
- * User: durong
- * Date: 2019/6/14
- * Time: 下午6:06
- */
- class CommentRecordController extends Controller
- {
- public function __construct(CommentRecordRepository $commentRecordRepository)
- {
- $this->commentRecordRepository = $commentRecordRepository;
- }
- /**
- * 评论账本列表
- */
- public function index(Request $request)
- {
- $commentList = $this->commentRecordRepository->lists($request->all());
- $behavior_trigger_times = CommentRecord::select('trigger_type')->where('trigger_type', '!=', null)->count();//总触发数
- $behavior_effective_trigger = CommentRecord::select('trigger_type')->where('trigger_type', 1)->count();//有效触发数
- $physical_exertion = CommentRecord::select('physical_exertion')->sum('physical_exertion');//总消耗体力值
- $generation_quantity = CommentRecord::select('generation_quantity')->sum('generation_quantity');//总生成U米
- $quantity_issued = CommentRecord::select('quantity_issued')->sum('quantity_issued');//总发放U米
- $fractal = new Manager();
- $resource = new Collection($commentList, new CommentRecordTransformer());
- $resource->setPaginator(new IlluminatePaginatorAdapter($commentList));
- $data = $fractal->createData($resource)->toArray();
- $data['extra'] = [
- 'statistics' => [
- 'all_trigger_times' => $behavior_trigger_times,
- 'all_effective_trigger' => $behavior_effective_trigger,
- 'physical_exertion' => intval($physical_exertion),
- 'generation_quantity' => intval($generation_quantity),
- 'quantity_issued' => intval($quantity_issued)
- ],
- 'filters' => [
- 'id',
- 'uid',
- 'created_at',
- 'trigger_type',
- 'content_author_id',
- 'related_content_id',
- 'superior_commentator_id',
- 'virus_behavior_id'
- ],
- 'columns' => [
- 'id',
- 'created_at',
- 'uid',
- 'related_content_id',
- 'content_author_id',
- 'superior_commentator_id',
- 'physical_exertion',
- 'trigger_type',
- 'generation_type',
- 'superior_uid',
- 'release_status',
- 'generation_quantity',
- 'quantity_issued',
- ]
- ];
- return $data;
- }
- }
|