| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <?php
- /**
- * ghs Web 门店邀请分佣管理
- * 基础分佣只读 dict;批发商独立比例与佣金明细分页/详情
- */
- namespace ghs\controllers;
- use bizHd\shop\classes\MainInviteAdminClass;
- use common\components\util;
- use Yii;
- class MainInviteAdminController extends BaseController
- {
- public $guestAccess = [];
- /**
- * 基础分佣设置(只读 hdRegisterConfig)
- */
- public function actionRegisterConfig()
- {
- util::success(MainInviteAdminClass::getRegisterConfigForAdmin());
- }
- /**
- * 批发商独立比例列表
- */
- public function actionWholesalerRatioList()
- {
- $keyword = Yii::$app->request->get('keyword', '');
- util::success(MainInviteAdminClass::getWholesalerRatioList($keyword));
- }
- /**
- * 批发商搜索(新增比例下拉)
- */
- public function actionWholesalerSearch()
- {
- $keyword = Yii::$app->request->get('keyword', '');
- $list = MainInviteAdminClass::searchWholesaler($keyword, 30);
- util::success(['list' => $list]);
- }
- /**
- * 保存批发商独立比例
- */
- public function actionSaveWholesalerRatio()
- {
- $post = Yii::$app->request->post();
- $mainId = (int) ($post['mainId'] ?? 0);
- $price = MainInviteAdminClass::getRegisterConfigForAdmin()['price'];
- // 支持传固定金额或等效比例
- if (isset($post['commissionRatio']) && $post['commissionRatio'] !== '') {
- $commissionAmount = MainInviteAdminClass::ratioToAmount($post['commissionRatio'], $price);
- } else {
- $commissionAmount = (float) ($post['commissionAmount'] ?? 0);
- }
- if (isset($post['discountRatio']) && $post['discountRatio'] !== '') {
- $hdDiscountAmount = MainInviteAdminClass::ratioToAmount($post['discountRatio'], $price);
- } else {
- $hdDiscountAmount = (float) ($post['hdDiscountAmount'] ?? 0);
- }
- try {
- $row = MainInviteAdminClass::saveWholesalerRatio($mainId, $commissionAmount, $hdDiscountAmount);
- util::success($row);
- } catch (\Throwable $e) {
- util::fail($e->getMessage());
- }
- }
- /**
- * 佣金汇总卡片
- */
- public function actionCommissionSummary()
- {
- $filters = Yii::$app->request->get();
- util::success(MainInviteAdminClass::getCommissionSummary($filters));
- }
- /**
- * 佣金分成明细分页
- */
- public function actionCommissionList()
- {
- $get = Yii::$app->request->get();
- $export = (int) ($get['export'] ?? 0);
- $filters = [
- 'searchTime' => $get['searchTime'] ?? '',
- 'startTime' => $get['startTime'] ?? '',
- 'endTime' => $get['endTime'] ?? '',
- 'inviterKeyword' => $get['inviterKeyword'] ?? ($get['inviterName'] ?? ''),
- 'inviteeKeyword' => $get['inviteeKeyword'] ?? ($get['inviteeName'] ?? ''),
- 'inviteCode' => $get['inviteCode'] ?? '',
- ];
- if ($export === 1) {
- $file = MainInviteAdminClass::exportCommissionList($filters);
- util::success($file);
- return;
- }
- util::success(MainInviteAdminClass::getCommissionAdminList($filters));
- }
- /**
- * 佣金分成详情
- */
- public function actionCommissionDetail()
- {
- $id = (int) Yii::$app->request->get('id', 0);
- try {
- util::success(MainInviteAdminClass::getCommissionDetail($id));
- } catch (\Throwable $e) {
- util::fail($e->getMessage());
- }
- }
- }
|