model = new \app\api\model\app\vip\Card; $this->cardPrivilegeModel = new \app\api\model\app\vip\CardPrivilege; $this->cardUserModel = new \app\api\model\app\vip\CardUser; } /** * 获取付费会员卡列表 * @return void */ public function getCardList() { $list = $this->model->where([ 'status' => 1 ])->select(); $isVirtualPay = VirtualPayService::isUseVirtualPay('vipcard'); if ($list) { foreach ($list as &$item) { $skuData = json_decode($item->sku, true); $item->is_virtual_pay = $isVirtualPay; if ($item->is_virtual_pay && is_array($skuData)) { foreach ($skuData as &$sku) { $sku = VirtualPayService::convertPriceFields($sku, ['price']); } unset($sku); } $item->sku = $skuData; $privilegeFreeGoods = $this->cardPrivilegeModel->getPrivilegeGoods($item->id, 'free'); if (!empty($privilegeFreeGoods)) { foreach ($privilegeFreeGoods as &$option) { $discountPrice = \app\api\model\app\vip\CardPrivilege::getDiscountPrice($option['price'], 0); $option['price_marking'] = $discountPrice['price_marking']; $option['price'] = $discountPrice['price']; } } $item->privilege_free_goods = $privilegeFreeGoods; $privilegeDiscountGoods = $this->cardPrivilegeModel->getPrivilegeGoods($item->id, 'discount'); if (!empty($privilegeDiscountGoods)) { foreach ($privilegeDiscountGoods as &$option) { $discountPrice = \app\api\model\app\vip\CardPrivilege::getDiscountPrice($option['price'], $item->privilege_discount_val); $option['price_marking'] = $discountPrice['price_marking']; $option['price'] = $discountPrice['price']; } } $item->privilege_discount_goods = $privilegeDiscountGoods; } } $this->success('获取成功', $list); } /** * 获取用户开通会员 * @return void */ public function getUserVip() { $data = \app\common\model\app\vip\CardUser::getUserVipInfo($this->auth->id); $this->success('获取成功', $data); } }