getCondition('price', '0'); $cost = $this->getCondition('cost', '0'); $identityName = $this->name; $coupon_price = 0; $reopen = false;//是否需要重新提交凭证 $identityOrder = ''; if ($user) { $identity = $user->identityFirst(); if ($identity) { //当前身份 可以续费 if ($identity->id == $this->id) { $renew = (bool) $identity->years; $text = '续费'; } elseif ($identity->order > $this->order) { $text = '不可降级'; } else { $identityOrder = Order::ByUser($user) ->where('identity_id', $this->id) ->first(); if ($identityOrder && $identityOrder->state == Order::STATE_INIT) { $text = '等待审核'; } elseif ($identityOrder && $identityOrder->state == Order::STATE_REJECT) { $text = '驳回申请'; $reopen = true; } else { $open = true; } } } else { $open = true; } } return [ 'identity_id' => $this->id, 'name' => $identityName, 'stock' => $this->stock, 'years' => $this->years, 'times' => $this->when($user && $this->id == $user->identityFirst()->id, function () use ($user) { return new IdentityMiddleResource($user->identityMiddle()->first()); }, [ 'name' => '---', 'serial' => '---', 'started_at' => '---', 'ended_at' => '---', ]), 'cover' => $this->cover_url, 'order' => $this->order, 'description' => $this->description ?? "", 'coupon_price' => floatval($coupon_price),//开通金额 'cost' => floatval($cost),//开通金额 'price' => floatval($price),//开通金额 'can' => [ 'buy' => (bool) $this->can_buy, 'open' => $this->can_buy ? $open : false,//开通 'renew' => $this->can_buy ? $renew : false,//续费 're_open' => $reopen, ], 'identity_order' => $this->when($identityOrder, function () use ($identityOrder) { return new UserOrderResource($identityOrder); }), 'buttonText' => $text, 'rights' => $this->rights, 'rules' => $this->getRules(), 'not_rules' => $this->getNotRules(), 'is_open' => $user && $this->id == $user->identityFirst()->id ]; } }