diff --git a/app/controller/admin/system/config/ConfigOthers.php b/app/controller/admin/system/config/ConfigOthers.php index fa9ff47..4386daa 100644 --- a/app/controller/admin/system/config/ConfigOthers.php +++ b/app/controller/admin/system/config/ConfigOthers.php @@ -5,6 +5,7 @@ namespace app\controller\admin\system\config; use app\common\repositories\system\merchant\MerchantRepository; +use app\common\repositories\user\UserBrokerageRepository; use app\common\repositories\user\UserRepository; use crmeb\jobs\ChangeMerchantStatusJob; use FormBuilder\Factory\Elm; @@ -14,6 +15,7 @@ use app\common\repositories\system\config\ConfigClassifyRepository; use app\common\repositories\system\config\ConfigRepository as repository; use app\common\repositories\system\config\ConfigValueRepository; use think\facade\Db; +use think\facade\Log; use think\facade\Queue; use think\facade\Route; @@ -239,4 +241,55 @@ class ConfigOthers extends BaseController app()->make(ConfigValueRepository::class)->setFormData($arr, 0); return app('json')->success('修改成功'); } + + + /** + * Common: 获取商户分销配置 + * Author: wu-hui + * Time: 2023/11/15 14:21 + * @return mixed + */ + public function getMerConfig(){ + $merId = $this->request->merId(); + // 获取分销商等级 + $levelList = app()->make(UserBrokerageRepository::class)->getSearch(['type'=>0]) + ->field(['user_brokerage_id','brokerage_name']) + ->order('brokerage_level Desc') + ->select(); + // 获取配置信息 + $data['extension_status'] = (int)merchantConfig($merId,'extension_status');// 是否开启 0=关闭,1=开启 + $data['extension_one_rate'] = (float)merchantConfig($merId,'extension_one_rate');// 一级返佣比例 + $data['extension_two_rate'] = (float)merchantConfig($merId,'extension_two_rate');// 二级返佣比例 + $extensionLevelSet = merchantConfig($merId,'extension_level_set');// 每个等级设置的上浮比例 + if($extensionLevelSet) { + $extensionLevelSet = json_decode($extensionLevelSet,true); + $extensionLevelSet = array_column($extensionLevelSet,null,'user_brokerage_id'); + } + $data['extension_level_set'] = []; + foreach($levelList as $levelInfo){ + $data['extension_level_set'][$levelInfo['user_brokerage_id']] = [ + 'user_brokerage_id' => $levelInfo['user_brokerage_id'], + 'brokerage_name' => $levelInfo['brokerage_name'], + 'one_rate' => $extensionLevelSet[$levelInfo['user_brokerage_id']]['one_rate'] ?? 0, + 'two_rate' => $extensionLevelSet[$levelInfo['user_brokerage_id']]['two_rate'] ?? 0, + ]; + } + + return app('json')->success($data); + } + /** + * Common: 编辑商户分销配置信息 + * Author: wu-hui + * Time: 2023/11/15 15:49 + * @return mixed + */ + public function setMerConfig(){ + $merId = $this->request->merId(); + $params = $this->request->params(['extension_status','extension_one_rate','extension_two_rate','extension_level_set']); + app()->make(ConfigValueRepository::class)->setFormData($params, $merId); + + return app('json')->success('编辑成功'); + } + + } diff --git a/route/merchant/config.php b/route/merchant/config.php index c60bcc7..23fc612 100644 --- a/route/merchant/config.php +++ b/route/merchant/config.php @@ -21,6 +21,31 @@ Route::group(function () { '_auth' => false, ]); + + // 分销商配置 + Route::group('promoter', function () { + Route::get('get_config', '/getMerConfig')->name('merchantPromoterConfigGet')->option([ + '_alias' => '获取配置', + ]); + Route::get('set_config', '/setMerConfig')->name('merchantPromoterConfigSet')->option([ + '_alias' => '编辑配置', + ]); + + + + + + })->prefix('admin.system.config.ConfigOthers')->option([ + '_path' => '/get_config', + '_auth' => true, + ]); + + + + + + + })->middleware(AllowOriginMiddleware::class) ->middleware(MerchantTokenMiddleware::class, true) ->middleware(MerchantAuthMiddleware::class)