94 lines
3.2 KiB
PHP
94 lines
3.2 KiB
PHP
<?php
|
|
namespace app\model\system;
|
|
use think\facade\Cache;
|
|
use think\model;
|
|
class UniAccount extends model
|
|
{
|
|
/***
|
|
* 获取应用配置
|
|
* @param $condition
|
|
* @param $config_key
|
|
* @return array
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
*/
|
|
public function getUniConfig($condition,$config_key){
|
|
$site_id = isset($condition['site_id']) ? $condition['site_id'] : '';
|
|
$appid= isset($condition['appid']) ? $condition['appid'] : '';
|
|
if(!$site_id && !$appid){
|
|
return error(-1,'REQUEST_SITE_ID or REQUEST_APPID_ID');
|
|
}
|
|
if (empty($config_key)) {
|
|
return error(-1,'REQUEST_CONFIG_KEY');
|
|
}
|
|
$json_condition=json_encode($condition);
|
|
$cache = Cache::get("UNICONFIG_" . $json_condition, "");
|
|
if (!empty($cache)) {
|
|
return success(0,'',$cache);
|
|
}
|
|
$info = $this->where($condition)->json(['value'],true)->order('id asc')->find();
|
|
if (empty($info)) {
|
|
$info = [
|
|
'site_id' =>'',
|
|
'config_key' => $config_key,
|
|
'platform_id' => '',
|
|
'borrow_id' => '',
|
|
'appid' => '',
|
|
'original' => '',
|
|
'value' => [],
|
|
'create_time' => 0,
|
|
];
|
|
} else {
|
|
$info = $info->toArray();
|
|
Cache::tag("uni_config")->set("UNICONFIG_" . $json_condition, $info);
|
|
}
|
|
return success(0,'成功',$info);
|
|
}
|
|
|
|
/***
|
|
* 设置平台参数
|
|
* @param $condition
|
|
* @param $value
|
|
* @param int $original
|
|
* @param $app_type
|
|
* @param $config_key
|
|
* @param int $platform_id
|
|
* @param int $borrow_id
|
|
* @return array
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
*/
|
|
public function setUniConfig($condition,$value,$app_type,$config_key,$original='',$platform_id=0,$borrow_id=0){
|
|
$site_id = isset($condition['site_id']) ? $condition['site_id'] : '';
|
|
if ($site_id === '') {
|
|
return error(-1, 'REQUEST_SITE_ID');
|
|
}
|
|
$appid= isset($condition['appid']) ? $condition['appid'] : '';
|
|
if (empty($appid)) {
|
|
return error(-1, 'REQUEST_APP_ID');
|
|
}
|
|
if(isset($condition['id']) && is_numeric($condition['id'])){
|
|
$condition=[
|
|
'id'=>$condition['id']
|
|
];
|
|
}
|
|
$data['site_id'] = $site_id;
|
|
$data['appid'] = $appid;
|
|
$data['app_type'] = $app_type;
|
|
$data['original'] = $original;
|
|
$data['platform_id'] = $platform_id;
|
|
$data['borrow_id'] = $borrow_id;
|
|
$data['config_key'] = $config_key;
|
|
$data['value'] = json_encode($value);
|
|
$info = $this->where($condition)->field('id,site_id')->find();
|
|
if (empty($info)) {
|
|
$res = $this->create($data);
|
|
} else if($info){
|
|
$res = $info->force(true)->save($data);
|
|
}
|
|
Cache::tag("uni_config")->clear();
|
|
return success(0,'成功',$res);
|
|
}
|
|
} |