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

73 lines
2.1 KiB
PHP

<?php
namespace App\Services\Admin;
use Illuminate\Support\Facades\DB;
class GroupService
{
//获取全部组
public function GetList($arr){
$result=array();
$sql='';
if($arr['type']=='enable'){
$sql=" where status =1";
}
$query=DB::select("select * from `group` ".$sql);
if(count($query)){
$result['list']=$query;
$result['status']='ok';
}else{
$result['status']='no';
$result['msg']='无有效数据';
}
return $result;
}
//修改组权限
public function ChangeMenu($arr){
$result=array();
DB::beginTransaction();
try {
$d= DB::table('group_menu')->where('group_id', '=', $arr['groupid'])->delete();
foreach ($arr['menuList'] as $v){
// dd($v);
$i=DB::table('group_menu')->insert([
'group_id' => $arr['groupid'],
'menu_id' => $v['id'],
]);
}
DB::commit(); // 手动提交事务
$result['status']='ok';
} catch (\Exception $e) {
DB::rollback(); // 发生异常时手动回滚事务
$result['status']='no';
$result['msg']='操作失败';
}
return $result;
}
public function Save($arr){
$result=array();
if($arr['type']=='save'){
$query=DB::table('group')->insert([
'group_name' => $arr['info']['name'],
'status' => 1,
]);
}else{
$query=DB::table('group')
->where('id', $arr['info']['id'])
->update([
'pid' => $arr['info']['pid'],
'name' => $arr['info']['name'],
'url' => $arr['info']['url'],
'icon' => $arr['info']['icon']
]);
}
if($query){
$result['status']='ok';
}else{
$result['status']='no';
$result['msg']='操作失败';
}
return $result;
}
}