mainId; $invite = MainInviteClass::getByMainId($mainId); $inviteData = [ 'inviteCode' => '', 'inviteCodeMask' => '', 'totalCommission' => '0.00', 'ableCommission' => '0.00', 'commissionAmount' => '0.00', 'hdDiscountAmount' => '0.00', 'inviteCount' => 0, ]; if (!empty($invite)) { $code = $invite['inviteCode'] ?? ''; $inviteData = [ 'inviteCode' => $code, 'inviteCodeMask' => MainInviteCommissionClass::maskInviteCode($code), 'totalCommission' => round((float) ($invite['totalCommission'] ?? 0), 2), 'ableCommission' => round((float) ($invite['ableCommission'] ?? 0), 2), 'commissionAmount' => round((float) ($invite['commissionAmount'] ?? 0), 2), 'hdDiscountAmount' => round((float) ($invite['hdDiscountAmount'] ?? 0), 2), 'inviteCount' => (int) ($invite['inviteCount'] ?? 0), ]; } $recentRaw = MainInviteCommissionClass::getRecentList($mainId, 5); $recentList = []; foreach ($recentRaw as $row) { $recentList[] = MainInviteCommissionClass::formatRecentRow($row); } util::success([ 'invite' => $inviteData, 'recentList' => $recentList, ]); } /** * 邀约花店列表 */ public function actionInviteShopList() { $get = Yii::$app->request->get(); $keyword = trim($get['keyword'] ?? ''); $data = MainInviteCommissionClass::getInviteShopList($this->mainId, $keyword); util::success($data); } /** * 佣金变动明细分页 */ public function actionCommissionList() { $list = MainInviteFlowClass::getFlowList($this->mainId); util::success($list); } /** * 可提现佣金全额存入中央钱包余额 */ public function actionDepositBalance() { $mainId = (int) $this->mainId; $shopId = (int) $this->shopId; $shopName = trim((string) ($this->shop->name ?? '')); try { $result = MainInviteClass::depositAbleCommissionToWallet($mainId, $shopId, $shopName); $invite = MainInviteClass::getByMainId($mainId); $inviteData = [ 'totalCommission' => round((float) ($invite['totalCommission'] ?? 0), 2), 'ableCommission' => round((float) ($invite['ableCommission'] ?? 0), 2), ]; util::success(array_merge($result, ['invite' => $inviteData])); } catch (\Exception $e) { util::fail($e->getMessage()); } } /** * 生成 hdApp 邀请开店小程序码(落地 applyInvite,scene 带 inviteCode) * GET:可选 envVersion=develop|trial|release */ public function actionInviteHdMiniCode() { $invite = MainInviteClass::getByMainId((int) $this->mainId); $inviteCode = trim((string) ($invite['inviteCode'] ?? '')); if ($inviteCode === '') { util::fail('暂无邀请码'); } $get = Yii::$app->request->get(); $envVersion = trim((string) ($get['envVersion'] ?? '')); if ($envVersion === '') { $envVersion = getenv('YII_ENV') === 'production' ? 'release' : 'develop'; } $merchant = WxOpenClass::getWxInfo(); $page = 'pagesClient/official/applyInvite'; $ptStyle = dict::getDict('ptStyle', 'hd'); $scene = 'inviteCode=' . $inviteCode; $imgPath = miniUtil::generateUnlimitedMiniCode($merchant, $page, $scene, $ptStyle, $envVersion); util::success([ 'imgUrl' => imgUtil::groupImg($imgPath), 'inviteCode' => $inviteCode, ]); } }