123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2019/6/6
- * Time: 14:08
- */
- namespace App\Transformers\Circle;
- use App\Models\InterestCircle;
- use App\Models\InterestCircleUser;
- use Illuminate\Support\Facades\Redis;
- use League\Fractal\TransformerAbstract;
- class QuestionTransformer extends TransformerAbstract
- {
- public function __construct($uid)
- {
- $this->uid = $uid;
- }
- public function transform(InterestCircle $interestCircle)
- {
- if ($interestCircle['limit_condition']) {
- $answer = $interestCircle['limit_condition'] - intval(Redis::get('circle_error_count_' . $this->uid));
- } else {
- $answer = -1;
- }
- return [
- 'id' => $interestCircle['id'],
- 'join_question' => $this->formatQuestion($interestCircle),
- 'answer_count' => $answer > 0 ? $answer : 0
- ];
- }
- public function formatQuestion(InterestCircle $interestCircle)
- {
- $question = [];
- $ques = json_decode($interestCircle['join_question'], true);
- if (empty($ques)) {
- return $question;
- }
- foreach ($ques as $key => &$value) {
- $value['id'] = $key + 1;
- foreach ($value['answer'] as $k => &$v) {
- $v['id'] = $k + 1;
- }
- }
- return $ques;
- }
- }
|