会员支付管理后台-用于提供会员管理小程序支付的api接口,与后台数据管理展示
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.
 
 
 
 
 
 

138 lines
3.9 KiB

<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace addon\hygl\app\service\admin;
use addon\hygl\app\model\config\Config;
use core\base\BaseAdminService;
use http\Url;
/**
* 公共控制器服务层
* Class ConfigService
* @package addon\hygl\app\service\admin\config
*/
class CommonService extends BaseAdminService
{
public function __construct()
{
parent::__construct();
}
/**
* 上传文件到本地
* @param $path 文件保存的路径
* @param $file 文件
*/
public function getSiteId(){
return $this->site_id;
}
public function uploadFile()
{
$file = $_FILES['file']; // 获取上传的文件
$name = $file['name'];//上传文件的原名称
$path = $this->request->param('path', '');//表名_字段名的格式 如user_pic=user表pic字段
if (!$file || !$path) {
return fail('缺少参数');
}
// 判断是否上传文件
if (empty($file)) {
return '未选择要上传的文件';
}
$site_id = (new CommonService())->getSiteId();//获取站点id
// 文件上传目录
$date = date('Y_m_d');
$save_path = "addon/hygl/upload/{$path}/{$site_id}/{$date}/";//文件保存的路径,如:addon/hygl/upload/upload_files/ 就表示在根目录的public/addon/hygl/upload/upload_files/下
// 文件名(不包含扩展名)
$filename = time() . rand(1111, 9999);
// 扩展名
$ext = pathinfo($file['name'], PATHINFO_EXTENSION);
// 创建保存目录
if (!is_dir($save_path)) {
mkdir($save_path, 0755, true);
}
// 文件保存相对路径
$save_file = $save_path . $filename . '.' . $ext;
// 将上传的文件移动到指定位置
if (!move_uploaded_file($file['tmp_name'], $save_file)) {
return '文件上传失败';
}
// 返回文件保存的信息给客户端
$res = [
'name' => $name,//上传文件的原名称
'file_name' => $filename . '.' . $ext,//新文件名称
'file_path' => $save_file,//相对路径
'url' => get_file_url($save_file),//绝对路径
];
return success('操作成功', $res);
}
/**
* 添加配置项
* @param array $data
* @return mixed
*/
public function add(array $data)
{
$data['site_id'] = $this->site_id;
$res = $this->model->create($data);
return $res->id;
}
/**
* 配置项编辑
* @param int $id
* @param array $data
* @return bool
*/
public function edit(array $data)
{
//检测数据是否存在,存在就编辑,不存在就添加
$id = $this->model->where([['site_id', '=', $this->site_id]])->value('id');
if ($id){
//编辑
$this->model->where([['site_id', '=', $this->site_id]])->update($data);
}else{
//添加
$data['site_id'] = $this->site_id;
$this->add($data);
}
return true;
}
/**
* 删除配置项
* @param int $id
* @return bool
*/
public function del(int $id)
{
$model = $this->model->where([['id', '=', $id],['site_id', '=', $this->site_id]])->find();
$res = $model->delete();
return $res;
}
}