admin-api/app/controller/admin/user/PlatformCommission.php

84 lines
2.1 KiB
PHP

<?php
namespace app\controller\admin\user;
use app\common\repositories\system\config\ConfigClassifyRepository;
use app\common\repositories\system\config\ConfigValueRepository;
use app\validate\admin\platformCommission\ConfigValidate;
use crmeb\basic\BaseController;
use think\App;
class PlatformCommission extends BaseController{
protected $repository;
public function __construct(App $app){
parent::__construct($app);
}
/**
* Common: 获取配置信息
* Author: wu-hui
* Time: 2023/12/22 11:32
* @return mixed
*/
public function getConfig(){
$default = [
'is_open' => 0,
'commission_platform_rate' => 0,
'commission_partner_rate' => 0,
'commission_partner_cycle' => 0,
'commission_merchants_rate' => 0,
'commission_promoter_rate' => 0,
'commission_integral_release_rate' => 0
];
$config = systemConfig(array_keys($default));
$config = array_filter($config,function($v){
return $v !== '';
}) + $default;
return app('json')->success($config);
}
/**
* Common: 编辑配置信息
* Author: wu-hui
* Time: 2023/12/22 13:40
* @param ConfigValidate $validate
* @return mixed
*/
public function saveConfig(ConfigValidate $validate){
$config = $this->request->params([
'is_open',
'commission_platform_rate',
'commission_partner_rate',
'commission_partner_cycle',
'commission_merchants_rate',
'commission_promoter_rate',
'commission_integral_release_rate'
]);
$validate->check($config);
$cid = app()->make(ConfigClassifyRepository::class)->keyById('platform_commission');
if (!$cid) return app('json')->fail('保存失败!配置项不存在,请联系开发人员!');
app()->make(ConfigValueRepository::class)->save($cid, $config, 0);
return app('json')->success('保存成功');
}
}