刮刮后端接口
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
3.0 KiB

<?php
declare (strict_types = 1);
namespace app\controller;
use app\BaseController;
use app\middleware\CheckAdmin;
use think\exception\ValidateException;
use app\model\Setting as SettingModel;
use think\facade\Request;
class Setting extends BaseController
{
protected $middleware = [CheckAdmin::class];
/**
* 返回充值设置
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function rechargeSetInfo()
{
$user_recharge_set = SettingModel::settingLoad('user_recharge_set') ?: 0;
$agent_recharge_set = SettingModel::settingLoad('agent_recharge_set') ?: 0;
return $this->renderSuccess('数据返回成功',[
[
'title' => '用户端充值接口',
'type' => 1,
'is_open' => $user_recharge_set
],
[
'title' => '代理端充值接口',
'type' => 2,
'is_open' => $agent_recharge_set
]
]);
}
/**
* 充值设置接口
* @return array|void
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function openRecharge()
{
$param = Request::param();
try {
validate()->rule([
'is_open|开关状态' => 'require|in:0,1',
'type|开关类型' => 'require|in:1,2'
])->check($param);
$typeArr = [ 1 => 'user_recharge_set', 2 => 'agent_recharge_set'];
SettingModel::settingSave($typeArr[$param['type']],$param['is_open']);
return $this->renderSuccess('设置成功');
} catch (ValidateException $validateException) {
return $this->renderError($validateException->getMessage());
}
}
/**
* 获取概率
* @return array
*/
public function getProbability()
{
try {
$probability = SettingModel::settingLoad('amount_probability') ?: '0.5';
return $this->renderSuccess('数据返回成功',['rate' => round($probability * 100,4)]);
} catch (\Exception $e) {
return $this->renderError('操作失败');
}
}
/**
* 设置概率
* @return array
*/
public function settingProbability()
{
$param = Request::param();
try {
validate()->rule([
'rate|概率' => 'require|float|between:0.01,500',
])->check($param);
SettingModel::settingSave('amount_probability',round($param['rate'] / 100,4));
return $this->renderSuccess('设置成功');
} catch (ValidateException $validateException) {
return $this->renderError($validateException->getMessage());
} catch (\Exception $e) {
return $this->renderError('操作失败');
}
}
}